【问题标题】:JavaFX opposite function of .requestFocus()?JavaFX .requestFocus() 的相反功能?
【发布时间】:2014-06-17 05:36:48
【问题描述】:

我正在寻找 JavaFX 中的功能,我可以在其中“禁用或解除”请求的焦点。

这是我的程序截图:Screenshot

每个单元格都填充了一个事件处理程序(onMouseEntered 和 onMouseExited),在每个 onMouseEntered 函数中,我必须像这样请求焦点: label.requestFocus()。我需要这样做,因为我正在使用 KeyEvents 来更改单元格的内容。

它工作正常,但有一个错误:当我移出scrollPane时,最后输入的单元格上仍然存在请求的焦点。

如何解决这个问题,而不要求关注 Scrollpane 周围的所有内容来修复此错误?是否有一个功能,我可以在其中解除请求的焦点,所以在退出单元格后,它会解除焦点。

最好的问候,

我的代码:

 arbeitetLabel.setOnMouseEntered(new EventHandler<MouseEvent>() {
        @Override
        public void handle(MouseEvent mouseEvent) {

            arbeitetLabel.requestFocus();
            arbeitetLabel.setOnKeyPressed(new EventHandler<KeyEvent>() {

                @Override
                public void handle(KeyEvent keyEvent) {
                    // Do some keyEvent Stuff
                }
            });


        }

    });

    arbeitetLabel.setOnMouseExited(new EventHandler<MouseEvent>() {
        @Override
        public void handle(MouseEvent mouseEvent) {
            // Dismiss the requested Focus here?
        }

    });

【问题讨论】:

  • 据我所知,当前窗口中必须有焦点。为什么在父面板上设置焦点不起作用?
  • 哈哈,太好了,可以了!谢谢!所以我正在使用它:arbeitetLabel.getParent().requestFocus()

标签: javafx focus


【解决方案1】:

我将焦点传递给父级,就是这样!

arbeitetLabel.getParent().requestFocus()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-21
    • 2017-02-18
    • 2021-07-05
    • 2014-09-08
    • 2018-08-08
    • 1970-01-01
    • 2018-05-03
    • 1970-01-01
    相关资源
    最近更新 更多