问题描述
- GirdLayout和FlowLayout的区别?
-
public class Shushanglizi{
public static void main(String[] args){
JFrame memain = new JFrame();
memain.setSize(300, 300);
//小组件;
JTextField t1 = new JTextField();
JComboBox bo = new JComboBox();
JButton t2 = new JButton("Send");
JTextArea a = new JTextArea();
//模块化;
Panel p2 = new Panel();
p2.setLayout(new GridLayout(1,2));
p2.add(bo);
p2.add(t2);
Panel p1 = new Panel();
p1.setLayout(new GridLayout(2,1));
p1.add(t1);
p1.add(p2);
Panel p3 = new Panel(new GridLayout(1,1));
p3.add(a);
//整合;
memain.setLayout(new BorderLayout());
memain.add(p3,BorderLayout.CENTER);
memain.add(p1,BorderLayout.NORTH);
memain.setVisible(true);}
}为什么加粗部分改成FlowLayout()或者什么都不添加的话就显示不了TestArea的内容呢?
明明只有它一个啊
解决方案
默认的layout就是flowlayout,不显示的原因是你的textArea中没有内容,默认显示的是最小的,即你看不到。而gridlayout会根据你设置的行列进行布局,textArea会占满所在的单元格。
解决方案二:
flowLayout是流型的,一行排不完下行继续。gridlayout是网格型的,各个格子大小都一样。
解决方案三:
一个是网格布局,一个是流布局
网格布局每行多少列是固定的, 流布局如果这一行装不下,就会送入下一行。
时间: 2024-09-20 00:01:44