如何创建JTextField数组?

时间:2014-10-11 18:50:06

标签: java arrays swing nullpointerexception jtextfield

我想为我的项目添加许多文本字段,并决定只使用数组,因为所有这22个文本字段都具有相同的属性。

我曾尝试JTextField txtFld[] = new JTextField[5];。它没有参数错误,但是当我尝试运行我的程序时,它会显示在控制台中

Exception in thread "main" java.lang.NullPointerException

我不想使用

JTextField txtFld[] = new JTextField[]{
    new JTextField(10),
    ...
    ...
    ... // repeat the same code about 20 times
};

因为它占用了这么多行而且文本字段无论如何都是相同的类型。我想要做的只是一个长度相同的文本字段数组,只需使用mainPanel(txtFld[0]); ... mainPanel(txtFld[21]);

是否可以在一行代码中创建文本字段数组?

1 个答案:

答案 0 :(得分:1)

由于我是SO的新手,我可以回答这个问题,但这是一个重复的问题。我正在写答案:

目前还不清楚FIELDS是你的JTextField aray还是常量。如果它是组件数组本身,请考虑在迭代时使用.length数组字段。这减少了代码维护:

Container c = getContentPane();
JTextField[] fields = new JTextField[22];
for (int i = 0; i < 22; i++) {
   fields[i] = new JTextField("Your Value");
   //you can add any listener for JTextField here
   c.add(fields[i]);
}

注意大写变量用于Java命名约定下的常量。

答案是从here 复制而来的。我无法将此问题标记为重复。