我需要檢測選定選項卡更改時間,並獲取其索引。JTabbedPane ChangeListener
下面的代碼工作,但它觸發的println
多次標籤當前裝載量:
tabbedPane.addChangeListener(new ChangeListener() {
public void stateChanged(ChangeEvent e) {
System.out.println("Tab: " + tabbedPane.getSelectedIndex());
// Prints the string 3 times if there are 3 tabs etc
}
});
什麼是這樣做的正確方法是什麼?先謝謝你。
以下演示代碼
檢查:http://www.exampledepot.com/egs/javax.swing/tabbed_TpEvt.html它是否幫助你嗎? –
不,實際上它使用與我的示例相同的方法 – vemv
對不起,但是如果您想要在選定選項卡更改時檢測到ID,那麼您是否需要通過getSource()知道ChangeEvent的位置?恕我直言,也許我錯了,代碼打印出3次(如果你有3個選項卡),因爲我們不知道事件的「來源」。如果代碼不知道哪些標籤已更改,如何更改所選標籤的ID? –