java - javafx中如何通过按钮关闭弹出窗口

标签 java javafx

我正在尝试通过按钮关闭弹出窗口,但我不知道。 当我使用Java Swing时,我记得该功能是自动的...

那么..我应该做什么?

而且我还想在按钮和文本之间留出更多空间。如果您有任何想法,请帮助我。

                    Stage dialogStage = new Stage();
                    dialogStage.initModality(Modality.WINDOW_MODAL);

                    Button button = new Button();
                    button.setOnKeyPressed(new EventHandler<KeyEvent>() {
                        @Override
                        public void handle(KeyEvent event) {
                            if (event.getCode() == KeyCode.ENTER) {


                            }
                        }
                    });

                    VBox vbox = new VBox(new Text("Wrong ID & PW!!"), new Button("Ok."));
                    vbox.setAlignment(Pos.CENTER);
                    vbox.setPadding(new Insets(15));

                    dialogStage.setScene(new Scene(vbox));
                    dialogStage.show();

最佳答案

调用dialogStage.close()

 button.setOnKeyPressed(new EventHandler<KeyEvent>() {
                    @Override
                    public void handle(KeyEvent event) {
                        if (event.getCode() == KeyCode.ENTER) {
                            dialogStage.close();
                        }
                    }
                });

此外,您还向 VBox 添加了一个 new Button("Ok.") ,这是错误的,请添加您创建的 button之前

至于按钮和文本之间的空间,这应该有效

 VBox.setMargin(text, new Insets(20));
 VBox.setMargin(button, new Insets(20));

关于java - javafx中如何通过按钮关闭弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43489066/

相关文章:

java - `CompletionHandler` 和 `CompletableFuture` 是 Java 中异步编程的两种不同方法吗?

java - Windows 7 上的 JVM 核心转储文件位于何处?

java - 如何在java中将一个arraylist替换为另一个具有不同大小的arraylist

java - 蛇与梯子 - 在计算机转弯和掷骰子上添加延迟

JavaFx 节点大小

java - 为什么 rs.Next() 跳过列

java - 两个线程在远程服务器上同时运行

java - 单击javafx中的按钮后如何保存/存储变量

java - 使用javafx创建一个从数字开始倒数并在0播放音乐的程序

JavaFx 程序应用程序启动方法中出现异常,使用多个布局构建我的程序 |网格 Pane 和边框 Pane