如何在JFX 2中使用KeyBindings?我需要重新分配来自carrige的Enter键返回到我自己的函数,并且对于carrige返回指定CTRL + ENTER
我已经尝试过这种方式,但它仍然是一个新的界限。
messageArea.addEventFilter(KeyEvent.KEY_PRESSED, new EventHandler<KeyEvent>() {
@Override
public void handle(KeyEvent keyEvent) {
if (keyEvent.getCode() == KeyCode.ENTER) {
sendMessage();
}
}
});
答案 0 :(得分:9)
作为jewelsea答案的补充。要控制组合键,请使用:
if (event.getCode().equals(KeyCode.ENTER) && event.isControlDown()) { // CTRL + ENTER
messageArea.setText(messageArea.getText() + "\n");
}
在您的处理程序中。
答案 1 :(得分:6)
如果想要阻止您要过滤的事件的默认行为,则需要consume它。
KeyEvents种类繁多,您可能希望过滤KeyEvent.ANY而非KeyEvent.KEY_PRESSED
并全部使用它们。