我想为我的项目添加许多文本字段,并决定仅使用数组,因为所有这 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/