【问题标题】:JavaFX relative to Swing setFocusable(true/false)?JavaFX 相对于 Swing setFocusable(true/false)?
【发布时间】:2015-09-28 23:44:53
【问题描述】:

我正在尝试找到一些方法来在 JavaFX 中使 UI 控件不聚焦

有没有类似于 Swing 的东西,还是我必须重写一些方法?

更新:

我想让控件根本无法聚焦,并且不将焦点更改为另一个Node

你可以做的是:

node.setFocusTraversable(false);

【问题讨论】:

  • 你想让什么样的控件无法聚焦?
  • @Uluk Biy keyListener 如果焦点位于 JButton 或 JSlider 等组件中,则面板或窗口的 @Uluk Biy keyListener 无法在 Swing 中工作,因此我将这些组件设置为 unFocusable()。 javaFX我看到这已经改变了,我正在徘徊(我的意思是即使焦点在组件上,父的keyListener正在工作)......如果我错了,请告诉我。

标签: java javafx focus


【解决方案1】:

也许你想要的是editable 属性 @见TextField#setEditable!

【讨论】:

    【解决方案2】:

    Node 上,基本上每个控件都继承了focusProperty()。您可以将某些内容绑定到该属性或添加 ChangeListener 以检测何时失去焦点:

    focusedProperty().addListener((observalbe, oldFocusedState, newFocusedState) -> {
      System.out.println("Control changed focused state from "+oldFocusedState+"->"+newFocusedState);
    });
    

    【讨论】:

      【解决方案3】:

      我已经回答了这个问题。请检查一下。

      这将向您展示如何永久删除节点上的焦点,暂时删除它,或者使节点不可遍历。

      Is there a way to take away focus in javafx?

      【讨论】:

        猜你喜欢
        • 2012-11-26
        • 1970-01-01
        • 1970-01-01
        • 2013-10-19
        • 2015-03-15
        • 2015-10-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多