Java 如何使用现有数据设置jSpinner值
我有一个Java 如何使用现有数据设置jSpinner值,java,netbeans,jspinner,Java,Netbeans,Jspinner,我有一个ArrayList,我想使用两个jspinner,一个用于获取ArrayList的索引,另一个用于显示相应的整数。首先将第一个微调器的范围限制为列表的大小,防止索引越界异常: jspinner1.setModel(new SpinnerNumberModel(0, 0, yourList.size() - 1, 1)); 然后添加事件处理程序,当第一个微调器更改时,该事件处理程序将设置第二个微调器。关于Java 8+: jspinner1.addChangeListener((Chan
ArrayList
,我想使用两个jspinner
,一个用于获取ArrayList的索引,另一个用于显示相应的整数。首先将第一个微调器的范围限制为列表的大小,防止索引越界异常:
jspinner1.setModel(new SpinnerNumberModel(0, 0, yourList.size() - 1, 1));
然后添加事件处理程序,当第一个微调器更改时,该事件处理程序将设置第二个微调器。关于Java 8+:
jspinner1.addChangeListener((ChangeEvent e) -> {
jspinner2.setValue(yourList.get((int)jspinner1.getValue()));
});
在旧版本的Java上:
jspinner1.addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent e) {
jspinner2.setValue(yourList.get((int)jspinner1.getValue()));
}
});
为什么对列表中的对应元素使用微调器?看来JLabel是一个更好的选择。还有,太宽了。我必须使用微调器。是否需要更改第二个微调器上的值将更改第一个微调器上的索引,或者仅更改第一个微调器上的索引将更改第二个微调器上的值?仅更改第一个微调器上的索引将更改第二个微调器上的值!