问题描述
我有一个应用程序,它使用来自 JFoenix 的两个 JFXDatePickers。它们在从 Eclipse 运行时完美运行,但在我将程序导出到 JAR 文件时不起作用。它们仍然返回默认设置的文本,但是当我尝试使用它选择日期时,窗口会冻结并且应用程序没有响应。
我已经搜索过 stackoverflow 和 javafx 以及 jfoenix 文档,但似乎找不到答案。有人可以帮帮我吗?这是一个学校项目。有什么建议吗?
@FXML
private JFXDatePicker startDatePicker;
@FXML
private JFXDatePicker endDatePicker;
@FXML
private void initialize() {
this.endDatePicker.setValue(LocalDate.Now());
this.startDatePicker.setValue(LocalDate.Now().withDayOfMonth(1));
}
非常感谢!
编辑:谢谢你的建议,斯劳。我已经通过命令行启动了它并且没有出现任何异常。发生错误的控制器类是这个:
package application;
import java.time.LocalDate;
import com.jfoenix.controls.JFXDatePicker;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.control.Alert;
import javafx.scene.control.Button;
public class SeeAllQuotesFilterScreenController {
@FXML
private Button cancelButton;
@FXML
private Button enterButton;
@FXML
private JFXDatePicker startDatePicker;
@FXML
private JFXDatePicker endDatePicker;
@FXML
private void initialize() {
this.endDatePicker.setValue(LocalDate.Now());
this.startDatePicker.setValue(LocalDate.Now().withDayOfMonth(1));
}
@FXML
void cancelButtonClicked(ActionEvent event) {
new Alert(Alert.AlertType.informatION,"changes to a different screen on the complete application").showAndWait();
}
@FXML
void enterButtonClicked(ActionEvent event) {
new Alert(Alert.AlertType.informatION,"changes to a different screen on the complete application").showAndWait();
}
}
此外,fxml:
<?xml version="1.0" encoding="UTF-8"?>
<?import com.jfoenix.controls.JFXButton?>
<?import com.jfoenix.controls.JFXDatePicker?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.layout.borderpane?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.VBox?>
<?import javafx.scene.text.Font?>
<?import javafx.scene.text.Text?>
<borderpane style="-fx-background-color: #E2FAFE;" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="application.SeeAllQuotesFilterScreenController">
<center>
<borderpane prefheight="500.0" prefWidth="500.0" borderpane.alignment="CENTER">
<center>
<VBox alignment="TOP_CENTER">
<children>
<Text strokeType="OUTSIDE" strokeWidth="0.0" text="Please choose the search criteria below.">
<VBox.margin>
<Insets left="5.0" right="5.0" top="5.0" />
</VBox.margin>
</Text>
<HBox alignment="CENTER">
<children>
<JFXDatePicker fx:id="startDatePicker" promptText="Start Date">
<HBox.margin>
<Insets bottom="12.0" left="12.0" right="12.0" top="12.0" />
</HBox.margin>
</JFXDatePicker>
<JFXDatePicker fx:id="endDatePicker" promptText="End Date">
<HBox.margin>
<Insets bottom="12.0" left="12.0" right="12.0" top="12.0" />
</HBox.margin>
</JFXDatePicker>
</children>
<padding>
<Insets bottom="40.0" top="40.0" />
</padding>
</HBox>
<JFXButton fx:id="enterButton" onAction="#enterButtonClicked" text="Enter">
<VBox.margin>
<Insets bottom="20.0" left="20.0" right="20.0" />
</VBox.margin></JFXButton>
</children>
<padding>
<Insets bottom="3.0" left="5.0" right="3.0" top="30.0" />
</padding>
</VBox>
</center>
</borderpane>
</center>
<top>
<HBox alignment="CENTER" prefheight="37.0" prefWidth="500.0" borderpane.alignment="CENTER">
<children>
<HBox alignment="CENTER_LEFT" HBox.hgrow="NEVER">
<children>
<JFXButton fx:id="cancelButton" onAction="#cancelButtonClicked" prefheight="25.0" prefWidth="54.0" text="Cancel" />
</children>
</HBox>
<HBox>
<children>
<Text strokeType="OUTSIDE" strokeWidth="0.0" text="Search Criteria">
<font>
<Font size="18.0" />
</font>
<HBox.margin>
<Insets bottom="12.0" left="12.0" right="12.0" top="12.0" />
</HBox.margin>
</Text>
</children>
</HBox>
</children>
</HBox>
</top>
</borderpane>
我的主():
package application;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.layout.borderpane;
public class Main extends Application {
@Override
public void start(Stage primaryStage) {
try {
borderpane root = (borderpane) FXMLLoader.load(getClass().getResource("SeeAllQuotesFilterScreen.fxml"));
Scene scene = new Scene(root,500,600);
primaryStage.setScene(scene);
primaryStage.show();
} catch (Exception e) {
e.printstacktrace();
}
}
public void initialize() {
}
public static void main(String[] args) {
launch(args);
}
}
感谢所有帮助!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)