我有数组JSpinners,但是我听不到。
这个没有用,因为Java要最终变量。当我将spin4 [j]更改为spin4 [0]
spin4[j].addChangeListener(
new ChangeListener(){
public void stateChanged(ChangeEvent e) {
Object o =spin4[j].getValue();
Number n = (Number) o;
pocatek = n.intValue();
};
});
最佳答案
然后将必要的变量定为final,或将其复制为final。我猜您感兴趣的变量是j
,而j
是一个不能声明为final的循环索引。如果是这样,则创建一个最终的复制变量,该变量复制j的值并在内部类内部使用。例如,类似...
for (int j = 0; j < spin4.length; j++) {
final int innerJ = j;
spin4[j] = new JSpinner(/* model here */); // ????? do you have or need this
spin4[j].addChangeListener(new ChangeListener(){
@Override
public void stateChanged(ChangeEvent e) {
Object o =spin4[innerJ].getValue();
Number n = (Number) o;
pocatek = n.intValue();
};
});
}