[英]How to detect when a user leaves a certain tab in a JTabbedPane
我知道如何編寫一個ChangeListener來記錄JTabbedPane中新選擇的選項卡的索引,但是我想要的是檢測用戶何時離開某個選項卡。 我有7個標簽,當用戶離開6號標簽時,我想運行一些代碼。如何實現?
嘗試使用焦點狀態。 您可以使用component.hasFocus()
或getSelectedIndex
方法進行檢查。 這取決於如何訪問組件或如何實現TabbedPane
我在這里找到了解決方案: Java JTabbedPane-在更改選定的Tab之前立即執行操作 。 我要做的就是創建一個擴展DefaultSingleSelectionModel的新類。 該類重寫setSelectedIndex()方法。
public class MySingleSelectionModel extends DefaultSingleSelectionModel {
@Override
public void setSelectedIndex(int index) {
if (getSelectedIndex() == 6) {
//perform action here
}
super.setSelectedIndex(index);
}
}
最后,我在JTabbedPanel中設置模型:
myTabbedPane.setModel(new MySingleSelectionModel());
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.