如何让使用FlowLayout布局的容器垂直分布,如图右侧窗口顶部的Welcome toDominic我期望显示是“Welcome to”一行,“Dominic”单独一行。
sign() {
this.setTitle("Sign in");
this.setSize(300, 700);
this.setVisible(true);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLayout(new GridLayout(2, 1));
TitleArea.setLayout(new FlowLayout());
SignArea.setLayout(new FlowLayout());
Title1 = new JLabel("Welcome to", JLabel.LEFT);
Title2 = new JLabel("Dominic", JLabel.LEFT);
Name = new TextField("Please type the account number.", 30);
Password = new TextField("Please type the password.", 30);
Sign = new JButton("Sign in");
Sign.addActionListener(this);
TitleArea.add(Title1);
TitleArea.add(Title2);
SignArea.add(Name);
SignArea.add(Password);
SignArea.add(Warning);
SignArea.add(Sign);
this.add(TitleArea);
this.add(SignArea);
}
你要知道 FlowLayout 布局是会随着面板大小变化,自动调整内部控件的布局的,想要控件垂直,只需要所有控件的大小可以使得当前行剩下的空间不满足再放下一个控件就会换行,
你可以考虑使用 VerticalFlowLayout 垂直流式布局,或者不使用任何布局 直接 setLayout(null),自己通过设置控件的大小和坐标来控制