我有一个ArrayList<Integer>
我希望使用两个jspinners
,一个用于获取ArrayList
的索引,另一个用于显示相应的整数。
答案 0 :(得分:1)
首先将第一个微调器的范围限制为列表的大小,以防止索引越界异常:
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()));
}
});