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

时间:2013-07-02 13:58:46

标签: java events netbeans jtabbedpane

据我所见:

(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)

修改

如果标签更改,我希望以下代码可用:

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

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

1 个答案:

答案 0 :(得分:0)

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

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