布局管理器
- 流式布局
- 中西南北中
- 表格布局
流式布局
package com.lyh.GUI;
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class Flowlayout {
public static void main(String[] args) {
//创建frame窗口,快捷键Alt+回车
Frame frame = new Frame();
//创建按钮
Button button1 = new Button("button1");
Button button2 = new Button("button2");
Button button3 = new Button("button3");
//设置窗口的大小及在屏幕上出现的位置
frame.setBounds(600,600,600,600);
//添加按钮到窗口
frame.add(button1);
frame.add(button2);
frame.add(button3);
//设置流式布局
frame.setLayout(new FlowLayout());
//设置窗口可见
frame.setVisible(true);
frame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
}
东西南北中
package com.lyh.GUI;
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class Borderlayout {
public static void main(String[] args) {
Frame frame = new Frame();
Button east = new Button("East");
Button west = new Button("West");
Button south = new Button("South");
Button north = new Button("North");
Button center = new Button("Center");
frame.add(east,BorderLayout.EAST);
frame.add(west,BorderLayout.WEST);
frame.add(south,BorderLayout.SOUTH);
frame.add(north,BorderLayout.NORTH);
frame.add(center,BorderLayout.CENTER);
frame.setSize(200,200);
frame.setVisible(true);
frame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
}
表格布局
package com.lyh.GUI;
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class GridLayout {
public static void main(String[] args) {
//创建窗口
Frame frame = new Frame();
//创建按钮
Button button1 = new Button("button1");
Button button2 = new Button("button2");
Button button3 = new Button("button3");
Button button4 = new Button("button4");
Button button5 = new Button("button5");
Button button6 = new Button("button6");
//将按钮加入到窗口中
frame.add(button1);
frame.add(button2);
frame.add(button3);
frame.add(button4);
frame.add(button5);
frame.add(button6);
//设置窗口布局方式为表格布局
frame.setLayout(new java.awt.GridLayout(3,2));
//设置窗口大小
frame.setBounds(300,300,300,300);
frame.pack();//Java函数
//设置窗口可见
frame.setVisible(true);
//设置监听,使窗口可关闭
frame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
}
附加题
通过布局管理器实现如下布局:
package com.lyh.GUI;
import java.awt.*;
import java.awt.GridLayout;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class test {
public static void main(String[] args) {
//创建窗口
Frame frame = new Frame();
//创建面板
//p1是位于窗口east方向上的面板
Panel p1 = new Panel(new GridLayout(2,1));
//p2是位于窗口wast方向上的面板
Panel p2 = new Panel(new GridLayout(2,1));
//p3和p4包含于p5中
Panel p3 = new Panel(new GridLayout(2,1));
Panel p4 = new Panel(new GridLayout(2,2));
//p5是位于窗口center方向上的面板
Panel p5 = new Panel(new GridLayout(2,1));
//将按钮加入面板(p1)
p1.add(new Button("p1-east-1"));
p1.add(new Button("p1-east-2"));
//将面板(p1)加入窗口
frame.add(p1,BorderLayout.EAST);
//将按钮加入面板(p2)
p2.add(new Button("p2-wast-1"));
p2.add(new Button("p2-wast-2"));
//将面板p2加入窗口
frame.add(p2,BorderLayout.WEST);
//将按钮加入面板(p3)
p3.add(new Button("p3-center-1"));
p3.add(new Button("p3-center-2"));
//将面板p3加入面板p5
p5.add(p3);
//将按钮加入面板(p4)
p4.add(new Button("p4-center-1"));
p4.add(new Button("p4-center-2"));
p4.add(new Button("p4-center-3"));
p4.add(new Button("p4-center-4"));
//将面板p4加入面板p5
p5.add(p4);
//将p5加入窗口
frame.add(p5,BorderLayout.CENTER);
//设置窗口大小及出现时的位置
frame.setBounds(600,600,600,600);
//设置窗口可见
frame.setVisible(true);
//窗口关闭监听
frame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
}
截图如下: