我想知道,如果可以确定,那个用户就会离开某个标签。例如,我们有两个标签:“omg”和“lol”。当前选项卡是omg。我想知道用户从“omg”切换到“lol”
答案 0 :(得分: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;
}
});
答案 1 :(得分:2)
我没有用于此的源代码,但我很确定我所做的是扩展JTabbedPane并覆盖setSelectedIndex(int)。当索引GOING要更改为指定的数字时调用它,并且我用它来验证将要离开的窗格上的内容。如果你的逻辑没有执行super.setSelectedIndex(int),那么你就不会离开窗格(这就是我所追求的)。