Javafx 。如何获得下一个元素非焦点丢失
Posted
技术标签:
【中文标题】Javafx 。如何获得下一个元素非焦点丢失【英文标题】:Javafx . How to get next Element non Focus Lost 【发布时间】: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 的变化——这就是下一个将被聚焦的时候。顺便说一句,如果您可以通过配置实现目标,不要子类控件(或任何其他类) 【参考方案1】:从场景中获取focusOwner
属性的值。
Node focusOwner = getScene().getFocusOwner();
requestFocus
可用于将焦点转移到其他节点,例如
if (focusOwner != otherNode)
thirdNode.requestFocus();
【讨论】:
hmm ...不要认为这就是OP想要的-我认为它类似于focusOwner.focusNext(不可用,因为focusTraversal没有进入公共范围)..或者也许不,重新阅读问题;)以上是关于Javafx 。如何获得下一个元素非焦点丢失的主要内容,如果未能解决你的问题,请参考以下文章