如何使用现有数据设置jSpinner值

时间:2014-12-20 18:45:08

标签: java netbeans jspinner

我有一个ArrayList<Integer>我希望使用两个jspinners,一个用于获取ArrayList的索引,另一个用于显示相应的整数。

1 个答案:

答案 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()));
    }
});