我正在尝试使用javaFX制作POS,但是每当我尝试更改场景时,它都会不断增加。关于如何解决的任何想法?
主类:https://pastebin.com/4bspSL9N
SceneManager:https://pastebin.com/SU99DVgf
OutputHelper.log()只是一个system.out.println()
答案 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();
}