我尝试创建一个 JFrame 窗口窗体,其中标签和文本窗格按该顺序垂直向下而不是彼此并排。
我试过的任何代码都不起作用,而只是加载表单,没有别的。
请记住,我是从另一个 JFrame 打开这个 JFrame,按下 JButton 以打开这个“表单”。
JLabel l1, l2;
JTextField t1, t2;
public DialogueBoxes(){
setSize(500,500);
setTitle("Gameplay Boxes");
Container c = getContentPane();
c.setLayout(new GridLayout(1,1));
c.add(l1);
c.add(t1);
c.add(l2);
c.add(t2);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
教程展示了如何使用 GridLayout。
GridLayout experimentLayout = new GridLayout(0,2);
文字说:
创建具有指定行数和列数的网格布局。布局中的所有组件都具有相同的大小。 rows 和 cols 中的一个(但不是两个)可以为零,这意味着可以将任意数量的对象放在一行或一列中。
所以如果你想要一个“灵活”的布局,那么对行或列使用零(但不是两者都使用零)这样你就可以添加任意数量的组件。我上面显示的示例有两列和灵活的行数。
https://docs.oracle.com/javase/tutorial/uiswing/layout/grid.html