我正在使用JavaFX并尝试制作一个小型GUI应用程序,用户可以在其中与spacetraders进行交互。io API。
我已经实现了一个警报对话框,当用户试图进行任何交易(购买船只、获得贷款、购买商品、销售商品……)时,一旦用户确认了他们的交易,该阶段将切换到显示交易结果的阶段。
Correct Display
警报对话框功能正常,但阶段切换会出现问题。当我切换舞台时,由于一些奇怪的原因,整个场景没有加载,后退按钮被切断。
Chopped Off Display
然后,当我点击窗口上的任意位置时,舞台将完全显示,如第一张图所示。(只需点击窗口内的任意位置)。
当我移除警报时,舞台会正常加载。但当我将相同的代码放入ifPresent lambda时,stage无法完全/正确加载。
Alert alert = new Alert(Alert.AlertType.CONFIRMATION, "Are you sure you want to obtain this loan?");
alert.showAndWait().ifPresent(response -> {
if (response == ButtonType.OK) {
BorderPane borderPane = new BorderPane();
borderPane.setTop(title);
borderPane.setBottom(backBtn);
borderPane.setCenter(res);
Scene scene = new Scene(borderPane, 600, 400);
primaryStage.setScene(scene);
primaryStage.show();
event.consume();
}
});
我看了医生,似乎不明白为什么会这样?欢迎任何解决方案?