布局管理器练习
预期效果:
代码实现:
package GUI;
import java.awt.*;
public class TestLayoutDemo {
public static void main(String[] args) {
Frame frame = new Frame();
frame.setVisible(true);
frame.setBounds(400,300,400,300);
frame.setBackground(new Color(223, 223, 113));
// 将frame设置为表格布局
frame.setLayout(new GridLayout(2,1));
// 4个panel容器,两个设置为表格布局
Panel p1 = new Panel(new BorderLayout());
Panel p2 = new Panel(new GridLayout(2,1));
Panel p3 = new Panel(new BorderLayout());
Panel p4 = new Panel(new GridLayout(2,2));
// 将按钮添加到Panel容器里
p1.add(new Button("East_1"),BorderLayout.EAST);
p1.add(new Button("West_1"),BorderLayout.WEST);
p2.add(new Button("Center_1"));
p2.add(new Button("Center_2"));
// 将p2放到p1中,设置为居中
p1.add(p2,BorderLayout.CENTER);
// 布局下半部分p3,p4
p3.add(new Button("East_2"),BorderLayout.EAST);
p3.add(new Button("West_2"),BorderLayout.WEST);
for (int i = 0; i <4 ; i++) {
p4.add(new Button("for-"+i));
}
// p4放入p3中
p3.add(p4,BorderLayout.CENTER);
// 将p1,p3放入frame容器中
frame.add(p1);
frame.add(p3);
}
}
实现效果:
实现思路:
1.将Frame拆分为上下两块
2.上下两块的左右部分进行边界布局BorderLayout,中间部分进行表格布局GridLayout
3.由上可知,需要四个容器,Panel
4.代码实现