2013-07-02 173 views
0

改变至于我所看到的事件:如何检查是否选择该选项卡中的Java

(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环境]进行有效的操作。 (我不希望任何mouseEvents)

编辑:

我想下面的代码被excecuted如果标签的变化:

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

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

+0

我想喜欢使用jTabbedPanel1.getSelected()== 0确定......如果还有如果这样,但因为我有斜面预测标签的数量,我不能使用这个。但任何人都可以向我推荐类似 – Sarang

+1

'ChangeListener'是正确的侦听器。你能提供更多的代码吗? – johnchen902

+0

@ johnchen902提供我想要的 – Sarang

回答

0

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

JTabbedPane p = (JTabbedPane)e.getSource(); 
int idx = p.getSelectedIndex(); 
相关问题