Java 使用for loop将摆动组件一个放置在另一个下面? //创建两个gui组件列表 ArrayList labelList=新的ArrayList(); ArrayList textFieldList=新建ArrayList(); //要添加的标签和文本字段的数量 int numOfAt=Data.getInstance().getInstances().numAttributes(); //对于循环,用于添加这些组件 对于(int i=0;i
这些代码有效。标签和字段添加到我的jPanel上。但我找不到解决办法,如何把它们一个放在另一个下面。在for循环的第一次迭代中,jLabel和jTextField彼此相邻。我想在第二次迭代中,在前两个组件下面放置下两个组件。我正在使用流布局 我正在使用流布局 然后,您需要使用不同的布局。它允许您水平和垂直显示组件 最简单的是GridLayout,但是所有组件都将以相同的大小显示。另一个选项是GridBagLayout,它提供了更大的灵活性,但使用起来更复杂 阅读上Swing教程的部分,并尝试不同的布局,以了解您想要使用的内容Java 使用for loop将摆动组件一个放置在另一个下面? //创建两个gui组件列表 ArrayList labelList=新的ArrayList(); ArrayList textFieldList=新建ArrayList(); //要添加的标签和文本字段的数量 int numOfAt=Data.getInstance().getInstances().numAttributes(); //对于循环,用于添加这些组件 对于(int i=0;i,java,swing,user-interface,for-loop,flowlayout,Java,Swing,User Interface,For Loop,Flowlayout,这些代码有效。标签和字段添加到我的jPanel上。但我找不到解决办法,如何把它们一个放在另一个下面。在for循环的第一次迭代中,jLabel和jTextField彼此相邻。我想在第二次迭代中,在前两个组件下面放置下两个组件。我正在使用流布局 我正在使用流布局 然后,您需要使用不同的布局。它允许您水平和垂直显示组件 最简单的是GridLayout,但是所有组件都将以相同的大小显示。另一个选项是GridBagLayout,它提供了更大的灵活性,但使用起来更复杂 阅读上Swing教程的部分,并尝试不同
//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);
}