我想跟踪Java应用程序中所有组件的焦点。我注册了一个适用于大多数组件的方法,但它不适用于更改选项卡。这是代码:
FocusManager.getCurrentManager().addPropertyChangeListener(new PropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent evt) {
System.out.println(evt.getPropertyName() + " " + evt.getNewValue());
}
}
如果我更改JTabbedPane中的选项卡,则不会导致打印消息。我怀疑这是因为JTabbedPane焦点未被更改(因为单击不同的选项卡可能意味着它仍然属于父JTabbedPane)。
是否有针对此的解决方法或有没有人知道用于跟踪Java中的焦点更改的保存方法,该方法也适用于更改标签?
干杯, 最大
答案 0 :(得分:1)
您可以将ChangeListener添加到选项卡式窗格以侦听选项卡中的更改。