2017-08-03 29 views
0

我必须向GUI添加几百个文本字段。“添加javafx textfields后错误:(1,1)java:太多参数”

对于我的javafx.scene.control.TextFields添加到几个不同的窗格:

TextField txt1 = new TextField(); 
TextField txt2 = new TextField(); 
TxtPane.getChildren().addAll(txt1, txt2); 

但一定数量的文本框后,的IntelliJ是给我上述错误,有一些简单的解决方法或者一些“官方的方式”来做到这一点?

谢谢。

+0

这个错误在哪里?如果是例外,请提供完整的堆栈跟踪。如果是IDE错误,请提供屏幕截图。另外,注意'addAll()'最多可以通过Java规范获取254个参数,以防将它们全部添加到一起。 –

+0

为什么你甚至一个一个地创建许多'TextField'? [DRY!](https://en.wikipedia.org/wiki/Don't_repeat_yourself)最有可能的方法是减少代码中文本字段创建表达式的数量,而不是使用单个调用添加大量字段到'addAll' ... – fabian

回答

0

谢谢你俩的意见。 @Sergey否没有堆栈跟踪,Error出现在下面的框中。我用不同的窗格添加TextField的,所以我不明白为什么我得到了错误。

@fabian:你给我带来了正确的道路。我使用TexField阵列现在创建文本字段,并且带有。新增()将它们添加:

TextField[] someTextFields = new TextField[20]; 
    for (int i = 0; i < 20; i++) { 
     TextField field = new TextField(); 
     someTextFields[i] = field; 
    } 
    for (int i = 0; i < 20; i++) { 
     somePane.getChildren().add(someTextFields[i]); 
    } 

它为我再次感谢现在,因为我不能对费边投票答案我会记住我自己如果好吗?