3

我想知道,如果可以确定,该用户离开了某个标签。例如,我们有 2 个标签:“omg”和“lol”。当前选项卡是 omg。我想知道用户从“omg”切换到“lol”

4

2 回答 2

4

通过向 中添加更改侦听器,JTabbedPane您将知道选项卡选择何时更改。

更新:添加标签索引跟踪

tabbedPane.getModel().addChangeListener(new ChangeListener() {
    int lastTabIndex = -1;
    public void stateChanged(ChangeEvent e) {
         int newIndex = tabbedPane.getSelectedIndex();
         if (lastTabIndex == 1 && newIndex == 2) { //or whatever check/combination of checks you would like
             //switched from tab 1 to tab 2!
         }

         //or just check for leaving tab 1
         if (lastTabIndex == 1) {
             //left tab 1!
         }

         //etc

         lastTabIndex = newIndex;
    }
});
于 2012-05-06T12:09:55.863 回答
2

我没有用于此的源代码,但我很确定我所做的是扩展 JTabbedPane 并覆盖 setSelectedIndex(int)。当索引将要更改为指示的数字时调用它,我用它来验证将要离开的窗格上的内容。如果您的逻辑不执行 super.setSelectedIndex(int),那么您就不会离开窗格(这就是我所追求的)。

于 2012-05-06T12:55:17.970 回答