我正试图在文本字段中捕获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();
}
}