ChangeListener 未按预期用于 JTabbedPane
ChangeListener not working as intended for JTabbedPane
我想检测选项卡何时更改并检索选定的索引。我能找到的所有示例似乎都已过时,而且我无法成功实施它们。
它迫使我将我的 changeListener 转换为 javax.swing.event.ChangeListener,但同时不允许我编译它。我哪里错了?
ChangeListener changeListener = new ChangeListener() {
public void stateChanged(ChangeEvent e) {
JTabbedPane sourceTabbedPane = (JTabbedPane) e.getSource();
int index = sourceTabbedPane.getSelectedIndex();
System.out.println("Tab changed to: " + index);
}
@Override
public void changed(ObservableValue arg0, Object arg1, Object arg2) {
// TODO Auto-generated method stub
}
};
tabbedPane.addChangeListener((javax.swing.event.ChangeListener) changeListener);
您在调用 new ChangeListener
时实施了错误的 ChangeListener
。检查你的进口。您应该实施 javax.swing.event.ChangeListener
但看起来您实际上是在实施 javafx.beans.value.ChangeListener
.
如果您不想更改您的导入,以下方法也可以。
javax.swing.event.ChangeListener changeListener = new javax.swing.event.ChangeListener() {
@Override
public void stateChanged(ChangeEvent e) {
JTabbedPane sourceTabbedPane = (JTabbedPane) e.getSource();
int index = sourceTabbedPane.getSelectedIndex();
System.out.println("Tab changed to: " + index);
}
};
tabbedPane.addChangeListener(changeListener);
正在导入错误的 ChangeListener
- 检查相应的导入语句。应该是
import javax.swing.event.ChangeListener;
// or import javax.swing.event.*;
可能导入了错误的 class,如:
import javafx.beans.value.ChangeListener;
// or import javafx.beans.value.*;
如果需要这些导入 (javaFX),您必须在创建侦听器时使用完全限定的 class 名称:
javax.swing.event.ChangeListener changeListener =
new javax.swing.event.ChangeListener() {
...
我想检测选项卡何时更改并检索选定的索引。我能找到的所有示例似乎都已过时,而且我无法成功实施它们。
它迫使我将我的 changeListener 转换为 javax.swing.event.ChangeListener,但同时不允许我编译它。我哪里错了?
ChangeListener changeListener = new ChangeListener() {
public void stateChanged(ChangeEvent e) {
JTabbedPane sourceTabbedPane = (JTabbedPane) e.getSource();
int index = sourceTabbedPane.getSelectedIndex();
System.out.println("Tab changed to: " + index);
}
@Override
public void changed(ObservableValue arg0, Object arg1, Object arg2) {
// TODO Auto-generated method stub
}
};
tabbedPane.addChangeListener((javax.swing.event.ChangeListener) changeListener);
您在调用 new ChangeListener
时实施了错误的 ChangeListener
。检查你的进口。您应该实施 javax.swing.event.ChangeListener
但看起来您实际上是在实施 javafx.beans.value.ChangeListener
.
如果您不想更改您的导入,以下方法也可以。
javax.swing.event.ChangeListener changeListener = new javax.swing.event.ChangeListener() {
@Override
public void stateChanged(ChangeEvent e) {
JTabbedPane sourceTabbedPane = (JTabbedPane) e.getSource();
int index = sourceTabbedPane.getSelectedIndex();
System.out.println("Tab changed to: " + index);
}
};
tabbedPane.addChangeListener(changeListener);
正在导入错误的 ChangeListener
- 检查相应的导入语句。应该是
import javax.swing.event.ChangeListener;
// or import javax.swing.event.*;
可能导入了错误的 class,如:
import javafx.beans.value.ChangeListener;
// or import javafx.beans.value.*;
如果需要这些导入 (javaFX),您必须在创建侦听器时使用完全限定的 class 名称:
javax.swing.event.ChangeListener changeListener =
new javax.swing.event.ChangeListener() {
...