java - 如何创建 JTextField 数组?

标签 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]);

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

最佳答案

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

尚不清楚 FIELDS 是您的 JTextField 数组还是常量。如果是组件数组本身,请考虑在迭代时使用 .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 复制。我无法将此问题标记为重复。

关于java - 如何创建 JTextField 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26318048/

相关文章:

java - 处理大量 HTTP JSON 响应的最佳方法

java - 用非常大的数组计算幂集,Java?‽

java - 无法对非静态字段进行静态引用

java - 从另一个线程完成的 Swing 刷新会出现错误

java - Java回合制游戏(Stratego)

java - JSON如何反序列化数组?

javascript - 如何根据起始字母过滤数组

javascript - 使用 map 返回非数组

php - 如何从函数内部回显有关每个项目的数据?

java - 如何在框架中显示图像?