Java 将JTextField作为数组添加到GUI

Java 将JTextField作为数组添加到GUI,java,swing,user-interface,arraylist,jtextfield,Java,Swing,User Interface,Arraylist,Jtextfield,我想问一下如何添加JTextFields,方法是将它们放在一个数组中(for循环会很有用),然后添加setBounds(使用绝对布局[或null]) 例如,我想在For循环中创建三个JTextFields,其中setBounds的X必须是50,然后是100,然后是150。任何帮助都将不胜感激 不要使用空布局/设置边界 要设置文本字段的大小,请向构造函数传递一个整数,指定字符列newjtextfield(15) 选择一个合适的布局管理器,让它为你做定位。例如,如果您想要4x4文本字段的网格,可以使

我想问一下如何添加
JTextFields
,方法是将它们放在一个数组中(for循环会很有用),然后添加
setBounds
(使用绝对布局[或null])

例如,我想在For循环中创建三个
JTextFields
,其中
setBounds
的X必须是50,然后是100,然后是150。任何帮助都将不胜感激

  • 不要使用空布局/设置边界
  • 要设置文本字段的大小,请向构造函数传递一个整数,指定字符列
    newjtextfield(15)
  • 选择一个合适的布局管理器,让它为你做定位。例如,如果您想要4x4文本字段的网格,可以使用
    GridLayout(4,4)

    JPanel面板=新的JPanel(新的网格布局(4,4));
    JTextField[][]字段=新的JTextField[4][4];
    ....
    对于(int i=0;i<4;i++){
    对于(int j=0;j<4;j++){
    JTextField jtf=新的JTextField(15);
    字段[i][j]=联合特遣部队;
    增援小组(联合特遣部队);
    }
    }
    
    注意:我使用2D数组,您可以很容易地引用字段



  • 您应该看看还有哪些布局管理器可用,并了解它们是如何工作的。

    我使用setBounds的原因是我必须使用我的中心面板来处理不同的事情,因此我认为这样做会更容易。也许我完全错了?+1,
    也许我完全错了?
    是的<代码>我必须使用我的中心面板来处理不同的事情-那么也许你应该使用
    卡片布局
    。有关更多信息,请参见上面给出的教程链接。
    JPanel panel = new JPanel(new GridLayout(4, 4));
    JTextField[][] fields = new JTextField[4][4];
    ....
    for (int i = 0; i < 4; i++) {
        for (int j = 0; j < 4; j++) {
            JTextField jtf = new JTextField(15);
            fields[i][j] = jtf;
            panel.add(jtf);
        }
    }