使用循环从JTextFields获取值

时间:2011-02-21 09:46:32

标签: java swing loops jtextfield

我将用Java创建一个程序。这是交互式快速排序模拟器。首先,您必须输入要排序的整数数。按下下一步后,会有一些文本字段根据您最初放入的数字编号,即。如果您输入15,将有15个文本字段供您输入数字。如果您输入20,则会有20个文本字段供您使用。按下下一步后,这些值将存储在一个数组中,其大小等于第一位的数字。

我的问题是,必须将文本字段命名(即.jtextfield0到jtextfield15)并获取要存储在数组中的文本字段的值,它必须像

 a[0] = jtextfield0.getValue();
 a[1] = jtextfield1.getValue();

等等。这样,它就是如此粗野的强迫和不灵活。

我如何使用循环来处理这个问题?

3 个答案:

答案 0 :(得分:1)

您可以创建arrayList<T>个对象。

对象数组:

JTextField fields[]=new JTextField[15];

for(int i=0;i<fields.length;i++)
 {
   fields[i]=new JTextField(5);
 }

答案 1 :(得分:1)

您可以将文本字段添加到ArrayList并对此ArrayList执行循环:

List<JTextField> textFields = new ArrayList<JTextField>();
...
//add your textfields to arraylist
...
for(int i = 0;i< textFields.size(); i++){
  fields[i] = textFields.get(i).getValue();
}

答案 2 :(得分:0)

在您的情况下将JTextFields数组添加到ArrayList:

textFields.addAll(Arrays.asList的(a));