我希望检测选项卡何时更改,并检索所选索引。我找到的所有例子似乎都过时了,而且我也未能成功地实现它们。
它迫使我将我的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);发布于 2017-05-30 21:13:26
当您调用ChangeListener时,您实现了错误的new 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);发布于 2017-05-30 21:13:40
正在导入错误的ChangeListener -请检查相应的导入语句。它应该是
import javax.swing.event.ChangeListener;
// or import javax.swing.event.*;可能是导入错误的类,如下所示:
import javafx.beans.value.ChangeListener;
// or import javafx.beans.value.*;如果需要这些导入(javaFX),则在创建侦听器时必须使用完全限定的类名:
javax.swing.event.ChangeListener changeListener =
new javax.swing.event.ChangeListener() {
...https://stackoverflow.com/questions/44271893
复制相似问题