java swing JTabbedPane stateChangedEvent

标签 java swing jtabbedpane

我已向 JTabbedPane 添加了更改监听器 stateChanged 应该只处理选项卡中的更改 即当我从index1切换到index2而不是其他stateChangedEvents时

即我不希望调用此状态监听器 在以下方法调用上

     jTabbedPane.removeTabAt(index)
           or this.tabbedPane.insertTab(tabTitle, null, jPanel,null,this.index);
jTabbedPane.setSelectedIndex(index)

有什么办法可以做到这一点吗?

 ChangeListener changeListener=new ChangeListener()
            {
              @Override
            public void stateChanged(ChangeEvent e)
              {
              };
           }
tabbedPane.addChangeListener(changeListener);

最佳答案

从你的问题中并不清楚你到底想要什么,我认为你正在寻找:

      tabbedPane.addChangeListener(new ChangeListener() {    
            @Override
            public void stateChanged(ChangeEvent e) {
                System.out.println("change"); // Or what ever you want
            }
        });

更新:这就是你可以做的,有效

public class JTabbedPaneDemo {    
    static int tabCount;
    public static void main(String[] args) {
        ...
        tabCount = tb.getTabCount(); // get total number of tabs
        tb.addChangeListener(new ChangeListener() {
            @Override
            public void stateChanged(ChangeEvent e) {
                JTabbedPane jt = (JTabbedPane) e.getSource();
                if(tabCount == jt.getTabCount()){ // true if no tab is removed
                     System.out.println("change"); // Or what ever you want
                }
            }
        });
        tb.removeTabAt(0); // stateChange will be called but if will not be true
        tabCount = tb.getTabCount(); // update tabCount after tab remove
        ...  
    }
} 

关于java swing JTabbedPane stateChangedEvent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11952145/

相关文章:

java - 吗啡和 gson 混合用于 mongodb

java - 多个按钮的单个 Action 监听器

java - JTabbedPane:更改选项卡标题时更改选项卡大小

java - GUI 框架和按钮

java - 在选项卡 Pane 中显示多个图像

java - JTabbedPane - ArrayIndexOutOfBoundsException

java.io.FileNotFoundException : (Permission denied) when writing an object using ObjectOutputStream 错误

java - 如何在 FormatterRegistry 中注册 Spring 3.1 打印机或解析器

java - jOOQ 幂等批量插入

java - 使用提交按钮将项目添加到 swing java 中存储