我一直在网上寻找类似的代码:
JTextField[] jt = new JTextField{jTextField1,jTextField2,..};
我有一个这段代码的副本,我将它保存在硬盘中,因为我知道将来可能会使用它,但磁盘已经死了!
任何人都可以帮我找到这段代码吗?它给了我错误,所以请为我纠正这个。谢谢!
顺便说一句,这是现有jTextField的数组,按下时它会在按钮内运行。
编辑:因为这被标记为可能重复,所以我的解释。
经典初始化已经过测试,到目前为止我在声明jTextField数组时看到的是:
JTextField[] jt = new jTextField[10];
指定值然后添加它。
jTextField[n] = new JTextField(jTextField1);
如果我使用该方法,我将不得不再次输入它。
jTextField[n] = new JTextField(jTextField2);
jTextField[n] = new JTextField(jTextField3);.. and so on and so forth.
现在我正在寻找的是我在示例代码上所说的内容。我曾经使用过一次,但是我很笨拙,不能支持它。
答案 0 :(得分:1)
这是错误的语法,会抛出编译错误:
JTextField[] jt = new JTextField{jTextField1,jTextField2};
你需要这样做:
JTextField[] jt = new JTextField[] {jTextField1,jTextField2}; // or you can do {jTextField1,jTextField2};
我试过这个并且工作正常:
JTextField j1 = new JTextField();
JTextField j2 = new JTextField();
JTextField[] j = new JTextField[] {j1, j2};
//JTextField[] j = {j1, j2}; // This syntax also works
System.out.println(j);
答案 1 :(得分:0)
我认为不可能做你想做的事。尝试编写一些循环来创建JTextField并将其添加到数组。
int x = 2;
JTextField[] textFields = new JTextField[x];
for(int i = 0;i < x; i++) {
JTextField textField = new JTextField(blabla);
textField.setSomething();
textFields [i] = textField;
}
答案 2 :(得分:0)
愚蠢的netbeans ..
我关闭了我的项目并重新打开它只是为了尝试一下。好吧猜猜看。代码现在正常运行。
public void arrayoftextboxes(){
JTextField[] jt = {jTextField1, jTextField2};
}