gpt4 book ai didi

java - 有没有办法在没有事件处理程序的情况下等待按钮点击?

转载 作者:太空宇宙 更新时间:2023-11-04 13:57:34 24 4
gpt4 key购买 nike

有什么方法可以在按下“确定”按钮时返回某个整数,并在按下右上角的退出按钮时返回另一个数字?

编辑:这只是从一个更大的类中取出的方法。请假设该窗口已显示。我要求的是确保返回任意两个数字的代码,但前提是按下按钮。

<小时/>
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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com