如何更改jSpinners的ArrayList中的值?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何更改jSpinners的ArrayList中的值?相关的知识,希望对你有一定的参考价值。

我尝试使用jSpinners创建我的Form应用程序。为了提高效率,我将所有jSpinner都放到了ArrayList()中,并希望为每个jSpinner设置值0。

ArrayList的声明:

public ArrayList mylist = new ArrayList();

使用jSpinners填充ArrayList:

mylist.add(jSpinner_500_e); mylist.add(jSpinner_200_e); mylist.add(jSpinner_100_e);

我也知道,函数“set(index_of_arraylist,value)允许更改ArrayList的某个索引,但在我的jSpinners中是属性setValue()来设置某个值。

有人知道,如何使用我的ArrayList()并调整for循环中的jSpinners值?非常感谢。

答案

首先需要更改的是将类型参数添加到ArrayList中,以便让编译器知道它应该在哪种类型的对象。更改:

public ArrayList mylist = new ArrayList();

至:

public ArrayList<JSpinner> mylist = new ArrayList<>();

您可以看到“diamond operator”(<>)的使用 - 它已经在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);
}

以上是关于如何更改jSpinners的ArrayList中的值?的主要内容,如果未能解决你的问题,请参考以下文章

Java:如何禁用 JSpinner 哔声

关于JComboBox和JSpinner的问题

在 JSpinner 中为 DateEditor 设置步骤

从 JSpinner 获取日期并放入具有 DATE 格式的 MySQL 数据库列

如何选择ArrayList中元素的索引并更改其中一个属性?

JSpinner 时间限制