JavaFX TextArea中的Tab键导航

前端之家收集整理的这篇文章主要介绍了JavaFX TextArea中的Tab键导航前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何在TextArea中点击Tab键导航到下一个控件?

我可以添加一个监听器到cath de键按下事件,但是如何使TextArea控件失去焦点(不知道链中的下一个字段要集中)?

@FXML protected void handleTabKeyTextArea(KeyEvent event) {
    if (event.getCode() == KeyCode.TAB) {
        ...
    }
}

解决方法

如果按TAB键,则此代码遍历焦点,如果按CONTROL TAB键插入标签
textArea.addEventFilter(KeyEvent.KEY_PRESSED,new EventHandler<KeyEvent>() {
        @Override
        public void handle(KeyEvent event) {
            if (event.getCode() == KeyCode.TAB) {
                SkinBase skin = (SkinBase) textArea.getSkin();
                if (skin.getBehavior() instanceof TextAreaBehavior) {
                    TextAreaBehavior behavior = (TextAreaBehavior) skin.getBehavior();
                    if (event.isControlDown()) {
                        behavior.callAction("InsertTab");
                    } else {
                        behavior.callAction("TraverseNext");
                    }
                    event.consume();
                }

            }
        }
    });

猜你在找的Java相关文章