我想跟踪我的 Java 应用程序中所有组件的焦点。我注册了一个适用于大多数组件的方法,但它不适用于更改选项卡。这是代码:
FocusManager.getCurrentManager().addPropertyChangeListener(new PropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent evt) {
System.out.println(evt.getPropertyName() + " " + evt.getNewValue());
}
}
如果我更改 JTabbedPane 中的选项卡,它不会导致打印消息。我怀疑这是由于 JTabbedPane 焦点没有被更改(因为单击不同的选项卡可能意味着它仍然属于父 JTabbedPane)。
是否有解决方法,或者是否有人知道用于跟踪 Java 中焦点更改的保存方法,该方法也适用于正在更改的选项卡?
干杯,马克斯