如果点击任何地方而不是儿童,如何让JFXPanel获得焦点

时间:2016-02-15 08:56:29

标签: javafx focus javafx-2 javafx-8

我的JFXPanel带有一个文本框,上面有几个按钮。如果用户点击子控件以外的任何位置,我想丢失文本框的焦点。

1 个答案:

答案 0 :(得分:1)

以下是我的工作示例:

覆盖JFXPanel的鼠标单击事件,如下所示:

          jfxPanel.addMouseListener(new MouseAdapter() {                    
                @Override
                public void mouseClicked(MouseEvent e) {
                    if(!toolbarJFX.getScene().getFocusOwner().isPressed()) {
                        toolbarJFX.getScene().getRoot().requestFocus();
                    }
                }

            });