【问题标题】:Javafx . How to get next Element non Focus LostJavafx 。如何获得下一个元素非焦点丢失
【发布时间】:2018-02-25 10:01:47
【问题描述】:

我在 TextField 上有一个焦点侦听器,想知道下一个获得焦点的元素将是哪个元素。 (特殊情况下可能会改)

有什么想法吗?

class Data extends TextField {
    public Data(int i) {
        focusedProperty().addListener((o, ov, nv) -> {
            if(!nv){               
              // Get Next Focusserd Item ...
            } 
        });
    }
}

【问题讨论】:

  • 然后,接下来你想做什么?监听 scene.focusOwner 的变化——这就是下一个将被聚焦的时候。顺便说一句,如果您可以通过配置实现目标,不要子类控件(或任何其他类)

标签: javafx next lost-focus


【解决方案1】:

从场景中获取focusOwner属性的值。

Node focusOwner = getScene().getFocusOwner();

requestFocus 可用于将焦点转移到其他节点,例如

if (focusOwner != otherNode) {
    thirdNode.requestFocus();
}

【讨论】:

  • hmm ...不要认为这就是OP想要的-我认为它类似于focusOwner.focusNext(不可用,因为focusTraversal没有进入公共范围)..或者也许不,重新阅读问题;)
猜你喜欢
  • 2020-09-16
  • 2014-11-15
  • 2022-12-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-22
  • 1970-01-01
相关资源
最近更新 更多