我对javaFX jar应用程序有疑问。 当我在IDEA中编译项目时,它看起来像这样: enter image description here
但是当我构建jar应用程序时,在第一个窗口中按下AUTHORIZATION
之后,
它不会在下一个窗口中打开。我使用FXML场景。
第一个窗口是从start()
类中的Main
方法中调用的,其他窗口是从控制器类中调用的。
主类中的方法。
public void start(Stage primaryStage) throws Exception {
Parent parent = FXMLLoader.load(getClass().getResource("Interface.fxml"));
Scene scene = new Scene(parent);
primaryStage.setScene(scene);
primaryStage.setTitle("Hello Client");
primaryStage.show();
}
以及控制器类之一:
@FXML
public void Autentification(ActionEvent actionEvent) throws Exception {
UserInform.AccauntName = name;
UserInform.UserName = name;
int intPort = Integer.parseInt(port);
messages.PrintMessage("Authentication started\n", Out);
ConnectionForUI.session.tryConnect(name, pass, host, intPort);
//Run next window
FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("../ClientField.fxml"));
Parent root = (Parent) fxmlLoader.load();
Stage stage = new Stage();
stage.setTitle("Client");
stage.setScene(new Scene(root));
stage.show();
}
Autentification
方法在我按下“授权”按钮时运行,并在此运行下一个窗口。
我是Java FX的新手,所以如果您知道如何解决此问题,我将不胜感激。
答案 0 :(得分:0)
问题困扰我FXML文件。您必须设置文件的绝对方式,例如"/file_name.fxml".
对我有所帮助。