有什么方法可以在按下“确定”按钮时返回某个整数,并在按下右上角的退出按钮时返回另一个数字?
编辑:这只是从一个更大的类中取出的方法。请假设该窗口已显示。我要求的是确保返回任意两个数字的代码,但前提是按下按钮。
<小时/>public static int showMessageDialog(String title, String object_message){
stage = new Stage();
stage.setMinHeight(150);
stage.setMinWidth(250);
stage.setTitle(title);
ok = new Button("OK");
gridPane = new GridPane();
gridPane.setAlignment(Pos.CENTER);
gridPane.setVgap(30);
message = new Text(object_message);
gridPane.addColumn(0, message, ok);
scene = new Scene(gridPane);
stage.setScene(scene);
stage.show();
}
最佳答案
如果您想自己执行此操作,只需使 Stage
模式化并使用 showAndWait
而不是 show
来阻止调用线程,直到 Stage
关闭:
public static int showMessageDialog(String title, String object_message){
stage = new Stage();
stage.setMinHeight(150);
stage.setMinWidth(250);
stage.setTitle(title);
stage.initModality(Modality.APPLICATION_MODAL);
IntegerProperty returnCode = new SimpleIntegerProperty(-1);
ok = new Button("OK");
ok.setOnAction(ev -> {returnCode.set(1); stage.close();});
gridPane = new GridPane();
gridPane.setAlignment(Pos.CENTER);
gridPane.setVgap(30);
message = new Text(object_message);
gridPane.addColumn(0, message, ok);
scene = new Scene(gridPane);
stage.setScene(scene);
stage.showAndWait();
return returnCode.get();
}
关于java - 有没有办法在没有事件处理程序的情况下等待按钮点击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29670728/