Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用现有数据设置jSpinner值_Java_Netbeans_Jspinner - Fatal编程技术网

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是一个更好的选择。还有,太宽了。我必须使用微调器。是否需要更改第二个微调器上的值将更改第一个微调器上的索引,或者仅更改第一个微调器上的索引将更改第二个微调器上的值?仅更改第一个微调器上的索引将更改第二个微调器上的值!