我尝试使用jSpinner创建我的Form应用程序。为了提高效率,我将所有jSpinner都放到了ArrayList()中,并希望为每个jSpinner设置值0。
声明ArrayList:
convert
使用jSpinners填充ArrayList:
public ArrayList mylist = new ArrayList();
我也知道,函数" set(index_of_arraylist,value)允许更改ArrayList的某个索引,但在我的jSpinners中是属性setValue()来设置某个值。
有人知道,如何使用我的ArrayList()并在for循环中调整jSpinners值?非常感谢。
答案 0 :(得分:0)
首先需要改变的是将类型参数添加到ArrayList中,让编译器知道它应该在哪种类型的对象。变化:
public ArrayList mylist = new ArrayList();
为:
public ArrayList<JSpinner> mylist = new ArrayList<>();
你可以看到使用“菱形运算符”(<>
) - 它已经在JDK7中呈现,它有助于减少一些不必要的代码并使其更清晰一点。现在,您可以尝试一些步行mylist
并更改其内容值的可能性:
有for-each循环 - 您可以将其翻译为“对于来自JSpinner
的每个mylist
执行大括号内的代码:
for(JSpinner spinner : mylist) {
spinner.setValue(valueYouWantToSet);
}
实现相同结果的另一种方法是创建一个遍历ArrayList的Iterator,并为其每个元素执行指定的操作。你可以在这里看到一个例子:
Iterator<JSpinner> iterator = mylist.iterator();
while(iterator.hasNext()) {
it.next().setValue(valueYouWantToSet);
}
您也可以使用简单的for循环:
for(int i = 0; i < mylist.size(); i++) {
mylist.get(i).setValue(valueYouWantToSet);
}