如何更改jSpinners的ArrayList中的值?

时间:2017-12-27 19:54:55

标签: java jframe

我尝试使用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值?非常感谢。

1 个答案:

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