更改场景时Java FX崩溃

时间:2018-08-23 10:24:35

标签: java javafx runtime-error

我正在尝试使用javaFX制作POS,但是每当我尝试更改场景时,它都会不断增加。关于如何解决的任何想法?

主类:https://pastebin.com/4bspSL9N

SceneManager:https://pastebin.com/SU99DVgf

OutputHelper.log()只是一个system.out.println()

输出日志:https://pastebin.com/GZTPRgNp

3 个答案:

答案 0 :(得分:0)

您尚未在SceneManager中初始化primaryStage。尝试在this.primaryStage = primaryStage;方法中添加setup

答案 1 :(得分:0)

在您的SceneManager类中尝试以下操作:

public static void loadScreen(Parent parent) throws IOException {
    Platform.runLater(() -> {
        Stage stage = new Stage(StageStyle.UNDECORATED);
       // stage.setMaximized(true);
        stage.setFullScreen(true);
      //  stage.setFullScreenExitKeyCombination(KeyCombination.NO_MATCH);
        Scene scene = new Scene(parent);
        stage.setScene(scene);
        stage.show();
    });
}

然后加载新屏幕,如下所示:

String Screen = "YourScreen.fxml";
Parent root = FXMLLoader.load(getClass().getResource(Screen));
SceneManager.loadScreen(root);

希望这会有所帮助

答案 2 :(得分:0)

这对聚会来说有点晚了,但我们会为后代发帖
我们命名所有锚定窗格的名称,以便知道他们是谁,即mynamePane
然后,当您单击“按钮”到某个地方时,您只需要知道自己在哪里和想去哪里

     private void doSEARCH() throws IOException{

    stage = (Stage)searchPane.getScene().getWindow();// pane you are ON
    viewtxPane = FXMLLoader.load(getClass().getResource("tableview.fxml"));// pane you are GOING TO
    Scene scene = new Scene(viewtxPane);// pane you are GOING TO
    scene.getStylesheets().add(getClass().getResource("checkbook.css").toExternalForm());
    stage.setScene(scene);
    stage.setTitle("Check Book Transactions"); 
    stage.show();
    stage.sizeToScene();
    stage.centerOnScreen();

 }
相关问题