簡體   English   中英

如何檢測用戶何時在JTabbedPane中離開某個選項卡

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM