2

我想跟踪我的 Java 应用程序中所有组件的焦点。我注册了一个适用于大多数组件的方法,但它不适用于更改选项卡。这是代码:

FocusManager.getCurrentManager().addPropertyChangeListener(new PropertyChangeListener() {
  @Override
  public void propertyChange(PropertyChangeEvent evt) {
    System.out.println(evt.getPropertyName() + " " + evt.getNewValue());
  }
}

如果我更改 JTabbedPane 中的选项卡,它不会导致打印消息。我怀疑这是由于 JTabbedPane 焦点没有被更改(因为单击不同的选项卡可能意味着它仍然属于父 JTabbedPane)。

是否有解决方法,或者是否有人知道用于跟踪 Java 中焦点更改的保存方法,该方法也适用于正在更改的选项卡?

干杯,马克斯

4

1 回答 1

1

您可以将 ChangeListener 添加到选项卡式窗格中以侦听选项卡中的更改。

于 2011-04-28T03:16:51.733 回答