使用for loop将摆动部件一个放在另一个下面


    //creating two lists of gui components
    ArrayList<JLabel> labelList = new ArrayList<JLabel>();
    ArrayList<JTextField> textFieldList = new ArrayList<JTextField>();
    //number of labels and textfields i want to add
    int numOfAt = Data.getInstance().getInstances().numAttributes();
    //for loop, for adding these components
    for (int i = 0; i < numOfAt - 1; i++) {
        String name = Data.getInstance().getInstances().attribute(i).name();
        labelList.add(new JLabel(name));
        labelList.get(i).setText(name);
        textFieldList.add(new JTextField());
        add(labelList.get(i));
        add(textFieldList.get(i));
        textFieldList.get(i).setSize(55, 25);
    }

这些代码有效。标签和字段添加在我的jPanel上。但我找不到如何将它们一个放在另一个下面的解决方案。在for循环的第一次迭代中,jLabel和jTextField挨着放置。我希望在第二次迭代中,下两个组件放在前两个组件的下面。我使用的是流动布局。

我使用的是流动布局。

然后你需要使用不同的布局。一种允许水平和垂直显示零部件的方法。

最简单的是GridLayout,但随后所有组件都将以相同的大小显示。另一个选项是GridBagLayout,它给你更多的灵活性,但使用起来更复杂。

阅读Swing教程中关于布局管理器的部分,并尝试不同的布局,看看您想要使用什么。

相关内容

  • 没有找到相关文章

最新更新