TextField ESCAPE未捕获密钥代码

时间:2017-01-23 20:33:06

标签: javafx event-handling keycode

我正试图在文本字段中捕获ESCAPE按键。 我期待将一个简单的事件监听器(甚至是事件过滤器)放到文本字段中。但没有任何作用。 似乎所有关键事件都被捕获,除了我正在等待的ESCAPE密钥。

请你提供任何帮助, 提前致谢

PS:以下一堆代码解释了我如何继续。

public class KeyEventSample extends Application {
    /**
     * Constructor
     */
    public KeyEventSample() {super();}

    @Override
    public void start(final Stage primaryStage) throws Exception {
        final TextField textField = new TextField();
        final TextArea textArea = new TextArea();

        textField.addEventFilter(KeyEvent.KEY_PRESSED, e -> {
            if (e.getCode() == KeyCode.ESCAPE)
                textArea.appendText("ESCAPE");
            else if (e.getCode() == KeyCode.ENTER)
                textArea.appendText("ENTER");
            else
                textArea.appendText("->"+e.getCode().toString());
        });

        final BorderPane borderPane = new BorderPane();
        borderPane.setCenter(textField);
        borderPane.setBottom(textArea);

        final Scene scene = new Scene(borderPane, 300, 300);

        primaryStage.setScene(scene);
        primaryStage.show();
    }
}

0 个答案:

没有答案