2
我想跟蹤我的Java應用程序中所有組件的焦點。我註冊了一個適用於大多數組件的方法,但它不適用於更改選項卡。下面的代碼:跟蹤焦點問題(JTabbedPane)
FocusManager.getCurrentManager().addPropertyChangeListener(new PropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent evt) {
System.out.println(evt.getPropertyName() + " " + evt.getNewValue());
}
}
如果我更改了一個JTabbedPane的一個標籤,它不會導致打印的消息。我懷疑這是由於JTabbedPane焦點未被更改(因爲單擊不同的選項卡可能意味着它仍然屬於父級JTabbedPane)。
有沒有解決方法,或者有沒有人知道一種保存方法來跟蹤Java中的焦點更改,該更改還適用於正在更改的選項卡?
乾杯, 最大
我一直在尋找所有組件更通用的東西。 – Max 2011-05-07 03:41:49
選項卡不是一個組件,因此不需要更改焦點來偵聽。與JTable中的每個單元不同,它不是一個組件。這些組件使用Action來導航組件。 – camickr 2011-05-07 04:57:16