javaFX jar应用程序

时间:2019-02-20 14:48:22

标签: java javafx

我对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的新手,所以如果您知道如何解决此问题,我将不胜感激。

例外: enter image description here

1 个答案:

答案 0 :(得分:0)

问题困扰我FXML文件。您必须设置文件的绝对方式,例如"/file_name.fxml".对我有所帮助。