JFXDialog 关闭 KeyCode.Enter, MouseEvent.Click

问题描述

当我调用 JFXDialog 时,对话框出现消息和按钮,都很漂亮,我可以通过按下按钮关闭它,但我无法通过使用 KeyCode.Enter 上的键事件关闭它 JFXDialog 是 SceneBuilder 中 JFoenix 的控制单元。 我使用了不同的事件方法,但我没有成功关闭对话框。 有人能帮我解决问题吗?

我使用软和机器: JavaFx,场景构建器 面向 Java 开发人员的 Eclipse IDE 版本:2019-12 (4.14.0) JDK 10.0.2

设置部分:

//create button
JFXButton button = new JFXButton("Hello there!");
                        
//create message layout
JFXDialogLayout dialogLayout = new JFXDialogLayout();
                        
//control dialog
JFXDialog dialog = new JFXDialog(rootPane,dialogLayout,JFXDialog.DialogTransition.TOP);


dialogLayout.setheading(new Label("text"));
dialogLayout.setBody(new Text("text"));
dialogLayout.setActions(button);

button.addEventHandler(MouseEvent.MOUSE_CLICKED,(e) ->{
    dialog.close();
});

以下是我尝试使用的 2 个事件方法示例。 活动部分:

//first method
dialogLayout.setonKeypressed(new EventHandler<KeyEvent>() {
    @Override
    public void handle(KeyEvent k) {
        if (k.getCode().equals(KeyCode.ENTER)) {
            button.fire();
        }
    }
});

//second method
button.addEventHandler(KeyEvent.KEY_pressed,event2 -> {
    if(event2.getCode() == KeyCode.ENTER) {
        button.fire();
        event2.consume();
    }
});

dialog.show();

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)