3

如何在 JFX 2 中使用 KeyBindings?我需要将回车键从返回到我自己的函数中重新分配,并且对于返回的回车分配 CTRL+ENTER

我已经尝试过这种方式,但它仍然是一条新线。

messageArea.addEventFilter(KeyEvent.KEY_PRESSED, new EventHandler<KeyEvent>() {
        @Override
        public void handle(KeyEvent keyEvent) {
            if (keyEvent.getCode() == KeyCode.ENTER) {
                sendMessage();
            }
        }
    });
4

2 回答 2

9

作为jewelsea答案的补充。要控制组合键,请使用:

if (event.getCode().equals(KeyCode.ENTER) && event.isControlDown()) { // CTRL + ENTER
    messageArea.setText(messageArea.getText() + "\n");
}

在你的处理程序中。

于 2012-05-04T11:02:37.110 回答
6

如果要防止您正在过滤的事件的默认行为,您需要使用它。

有多种 KeyEvents,您可能希望在KeyEvent.ANY上进行过滤,而不是仅仅KeyEvent.KEY_PRESSED使用它们。

于 2012-05-04T00:39:55.043 回答