https://www.bilibili.com/video/BV1wh411d7it/?spm_id_from=333.788.top_right_bar_window_custom_collection.content.click
AWT编程
2.3 container容器
window
创建一个窗口对象
Frame frame = new Frame("这里测试window窗口");
//指定窗口的位置、大小
frame.setLocation(100, 100);
frame.setSize();
frame.setVisible(true);
panel
//创建一个window对象
Frame frame = new Frame("这里演示Panel");
//创建一个Panel对象
Panel p = new Panel();
//创建一个文本框和按钮,把它们放到Panel中
p.add(new TextField("这里是一个测试文本"));
p.add(new Button("这里是一个测试按钮"));
//把panel放到window中
frame.add(p);
//设置window的位置及大小
frame.setBounds(100, 100, 500, 300);
//设置window可见
frame.setVisible(true);
ScrollPane滚动条容器
Frame frame = new Frame("这里演示ScrollPane");
//创建一个ScrollPane对象
ScrollPane sp = new ScrollPane(ScrollPane.SCROLLBARS_ALWAYS);
//往ScrollPane中添加内容
sp.add(new TextField("这是测试文本"));
sp.add(new Button("这是测试按钮"));
//把ScrollPane添加到Frame中
frame.add(sp);
frame.setBounds(100, 100, 500, 300);
frame.setVisible(true);
2.4 LayoutManager 布局管理器
FlowLayout
Frame frame = new Frame("这里测试FlowLayout");
//1. 通过setLayout方法设置容器的布局管理器(左对齐、水平间距20、垂直间距20)
frame.setLayout(new FlowLayout(FlowLayout.LEFT, 20, 20));
//2. 添加多个按钮到frame中
for(int i = 1; i <= 100; i++){
frame.add(new Button("按钮" + i));
}
//3. 设置最佳大小,pack方法
frame.pack();
frame.setVisible(true);
BorderLayout
Frame frame = new Frame("这里测试BorderLayout");
//1. 给frame设置BorderLayout设置布局管理器
frame.setLayout(new BorderLayout(30, 10);
//2. 给frame的指定区域添加组件
frame.add(new Button("north"),BorderLayout.NORTH);
frame.pack();
frame.setVisible(true);