Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么ChangeListener从不在本地使用?_Java_Swing_Actionlistener_Changelistener - Fatal编程技术网

Java 为什么ChangeListener从不在本地使用?

Java 为什么ChangeListener从不在本地使用?,java,swing,actionlistener,changelistener,Java,Swing,Actionlistener,Changelistener,我不确定为什么会收到警告“类型new ChangeListener{}的方法tabChangedChangeEvent从未在本地使用” private void setUpTabbedPane() { this.tabbedPane = new JTabbedPane(); this.tabbedPane.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT); String ti

我不确定为什么会收到警告“类型new ChangeListener{}的方法tabChangedChangeEvent从未在本地使用”

private void setUpTabbedPane() {
            this.tabbedPane = new JTabbedPane();
            this.tabbedPane.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);
            String titles[] = { "A", "B", "C", "D", "E", "F" };

            for (int i = 0, n = titles.length; i < n; i++) {
                addTabs(this.tabbedPane, titles[i]);
            }

            this.tabbedPane.addChangeListener(new ChangeListener() {

                public void tabChanged(ChangeEvent ev) {
                    try {
                        mediaPlayer.stop();

                    } catch (Exception e) {
                        System.out.println("Sorry, something went wrong.");
                        e.printStackTrace();
                    }
                }

                @Override
                public void stateChanged(ChangeEvent e) {
                    // TODO Auto-generated method stub

                }
            });

        }
您已声明“孤立”方法 正如警告所说,您已经在ChangeListener中声明了一个方法tabChanged,该方法没有在任何地方引用,并且永远不会被任何人调用

如果希望在发生更改时运行代码,则必须重写ChangeListener的stateChanged方法,如中所述 而不是像现在这样声明一个新方法

只需将名称从tabChanged更改为stateChanged IMHO就足以使代码正常工作。

不要忘记添加@Override注释,它也会捕获此类“孤立”方法。