加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

JavaFX TextArea中的Tab键导航

发布时间:2020-12-14 16:34:16 所属栏目:Java 来源:网络整理
导读:如何在TextArea中点击Tab键导航到下一个控件? 我可以添加一个监听器到cath de键按下事件,但是如何使TextArea控件失去焦点(不知道链中的下一个字段要集中)? @FXML protected void handleTabKeyTextArea(KeyEvent event) { if (event.getCode() == KeyCode.T
如何在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();
                }

            }
        }
    });

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读