将JTextField作为数组添加到GUI

时间:2014-05-04 10:39:18

标签: java swing user-interface arraylist jtextfield

我想问一下如何通过将JTextFields放在一个数组(for循环有用)然后setBounds(使用绝对布局[或null])来添加JTextFields

例如,我想在for循环中创建三个setBounds,其中{{1}}的X必须是50,然后是100然后是150.任何帮助都将受到赞赏。

1 个答案:

答案 0 :(得分:1)

  1. 不要使用null layouts / setBounds
  2. 要设置文本字段的大小,请将整数传递给指定字符列new JTextField(15)的构造函数
  3. 选择合适的布局管理器,让 it 为您定位。例如,如果您想要一个4x4文本字段的网格,则可以使用GridLayout(4, 4)

    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);
        }
    }
    

    注意:我使用2D数组,您可以轻松地引用字段


  4. 您应该查看Laying out Components Within a Container,了解其他布局管理器的可用性,并了解它们的工作原理。