如何在java中检查所选选项卡是否已更改

如何在java中检查所选选项卡是否已更改,java,events,netbeans,jtabbedpane,Java,Events,Netbeans,Jtabbedpane,就我所看到的事件而言: (1) private void jTabbedPane1StateChanged(javax.swing.event.ChangeEvent evt) {} 检查是否添加了新选项卡或删除了现有选项卡 在谷歌上,我发现了以下代码: (2) ChangeListener changeListener = new ChangeListener() { public void stateChanged(ChangeEvent changeEve

就我所看到的事件而言:

(1)     private void jTabbedPane1StateChanged(javax.swing.event.ChangeEvent evt) {}
检查是否添加了新选项卡或删除了现有选项卡

在谷歌上,我发现了以下代码:

(2)     ChangeListener changeListener = new ChangeListener() {
        public void stateChanged(ChangeEvent changeEvent) {
        // my code       
        }
        };
        jTabbedPane1.addChangeListener(changeListener);
我想因为它使用stateChanged事件,所以它应该像我的第一个代码一样。 顺便说一句,即使使用了这两个代码,我也无法获得所需的结果(即当用户更改选项卡时可以调用的事件)

有人能给我推荐一个好的事件[我正在使用netbeans GUI环境]来采取有效的行动吗。(我不想要任何鼠标事件)

编辑:

如果选项卡更改,我希望以下代码被删除:

String send3=( jTabbedPane1.getSelectedComponent().getComponentAt(0,0)).getName(); 

上面的代码动态获取jTextarea的名称(在当前选项卡中),该名称是在jTabbedPanel中动态创建的

我刚刚检查了自己的源代码,其中addChangeListener()工作正常。每当用户或以编程方式更改选项卡时,就会触发该事件。在
stateChanged()
本身中,现在选择的选项卡由

 JTabbedPane p = (JTabbedPane)e.getSource();
 int idx = p.getSelectedIndex();

我想使用jTabbedPanel1.getSelected()==0…if-else-if-case,但是因为我无法预测选项卡的数量,所以我不能使用这个。但是有人能给我推荐一些类似的东西吗?ChangeListener是正确的监听器。你能提供更多的代码吗?@johnchen902提供了我想添加的
System.out.println(“某物”)
stateChanged
查看是否真正调用了
stateChanged
。另请参阅此处了解如何提出一个好问题。@johnchen902如果这个问题听起来不正确,我真的很抱歉。我这里的问题是当我单击“新建”选项卡时,第一个选项卡被创建,状态更改事件工作。当我单击第二个选项卡时,statechange事件也会起作用,但是当我返回第一个选项卡并调用getName()(我在代码中输入了)函数时,它仍然会返回第二个选项卡的输出。