0

When i call JFXDialog, the dialog appear with message and button, all beautiful, than i can close it by pressing the button, but i can not close it by using key event on KeyCode.Enter JFXDialog is control unit of JFoenix in SceneBuilder. I have used different methods of events, but i don't have succes to close the dialog. Can anybody help me to solve the problem?

I use soft and machine: JavaFx, SceneBuilder Eclipse IDE for Java Developers Version: 2019-12 (4.14.0) JDK 10.0.2

Setting part:

//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();
});

Below are 2 examples of event methods that i have tried to use. Event part:

//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();

0 Answers0