gpt4 book ai didi

java - 为什么 ChangeListener 从未在本地使用?

转载 作者:行者123 更新时间:2023-12-02 13:11:05 28 4
gpt4 key购买 nike

我不知道为什么会收到警告“来自类型 new ChangeListener(){} 的方法 tabChanged(ChangeEvent) 从未在本地使用”

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 方法(如 https://docs.oracle.com/javase/7/docs/api/javax/swing/event/ChangeListener.html 中所述) 而不是像您现在所做的那样声明一个新方法。

只需将名称从 tabChanged() 更改为 stateChanged() 恕我直言,就足以使此代码正常工作。

关于java - 为什么 ChangeListener 从未在本地使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43955205/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com