窗体效果
① 默认效果

② 流式布局

③ 网格布局(三行两列)

④ 网格加流式构成复杂布局(引入panel实现)

① 窗体布局
/*
* 窗体布局
*/
package part_2;
import java.awt.*;
import javax.swing.*;
public class e30_1 extends JFrame {
JButton jb1, jb2, jb3, jb4, jb5;
public static void main(String[] args) {
e30_1 _e30_1 = new e30_1();
}
public e30_1(){
// 创建组件
jb1 = new JButton("中部");
jb2 = new JButton("东部");
jb3 = new JButton("南部");
jb4 = new JButton("西部");
jb5 = new JButton("北部");
// 添加各个组件
this.add(jb1, BorderLayout.CENTER);
this.add(jb2, BorderLayout.EAST);
//this.add(jb3, BorderLayout.SOUTH);
this.add(jb4, BorderLayout.WEST);
//this.add(jb5, BorderLayout.NORTH);
// 设置窗体属性
this.setTitle("窗体布局");
this.setSize(500, 300);
this.setLocation(550, 250);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 显示窗体
this.setVisible(true);
}
}② 流式布局
/*
* 流式布局
*/
package part_2;
import java.awt.*;
import javax.swing.*;
public class e30_2 extends JFrame {
// 定义组件
JButton jb1, jb2, jb3, jb4, jb5, jb6;
public static void main(String[] args) {
e30_2 _e30_2 = new e30_2();
}
public e30_2(){
// 创建组件
jb1 = new JButton("路 遥");
jb2 = new JButton("龙应台");
jb3 = new JButton("余秋雨");
jb4 = new JButton("刘铭传");
jb5 = new JButton("沈家珍");
jb6 = new JButton("戚继光");
// 添加组件
this.add(jb1);
this.add(jb2);
this.add(jb3);
this.add(jb4);
this.add(jb5);
this.add(jb6);
// 设置布局管理器
this.setLayout(new FlowLayout(FlowLayout.LEFT));
// 设置窗体属性
this.setTitle("流式布局");
this.setSize(330, 230);
this.setLocation(550, 250);
// 禁止改变窗体大小
this.setResizable(false);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 显示窗体
this.setVisible(true);
}
}③ 网络布局
/*
* 网格布局
*/
package part_2;
import java.awt.*;
import javax.swing.*;
public class e30_3 extends JFrame{
// 定义组件
// int size = 6;
JButton[] jb = new JButton[6];
public static void main(String[] args) {
e30_3 _e30_3 = new e30_3();
}
// 构造函数
public e30_3(){
// 创建组件
jb[0] = new JButton("路 遥");
jb[1] = new JButton("龙应台");
jb[2] = new JButton("余秋雨");
jb[3] = new JButton("刘铭传");
jb[4] = new JButton("沈家珍");
jb[5] = new JButton("戚继光");
// 添加组件
this.add(jb[0]);
this.add(jb[1]);
this.add(jb[2]);
this.add(jb[3]);
this.add(jb[4]);
this.add(jb[5]);
// 设置布局管理器
this.setLayout(new GridLayout(3, 2, 30, 30));
// 设置窗体属性
this.setTitle("网格布局");
this.setSize(330, 230);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 显示窗体
this.setVisible(true);
}
}④ 复杂布局
/*
* 复杂布局
* 引入类型 JPanel.
*/
package part_2;
import java.awt.*;
import javax.swing.*;
public class e31_1 extends JFrame {
JPanel jp1, jp2;
JButton jb1, jb2, jb3, jb4, jb5, jb6;
public static void main(String[] args) {
e31_1 _e31_1 = new e31_1();
}
// 构造函数
public e31_1(){
// 创建组件
jp1 = new JPanel();
jp2 = new JPanel();
jb1 = new JButton("A");
jb2 = new JButton("B");
jb3 = new JButton("C");
jb4 = new JButton("D");
jb5 = new JButton("E");
jb6 = new JButton("F");
// 添加组件
jp1.add(jb1);
jp1.add(jb2);
jp2.add(jb3);
jp2.add(jb4);
jp2.add(jb5);
this.add(jp1, BorderLayout.NORTH);
this.add(jp2, BorderLayout.SOUTH);
this.add(jb6, BorderLayout.CENTER);
// 设置窗体属性
this.setSize(300, 200);
this.setTitle("复杂布局");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocation(330, 330);
// 显示窗体
this.setVisible(true);
}
}本文出自 “小崔的实验笔记” 博客,谢绝转载!
原文地址:http://sunnybay.blog.51cto.com/2249903/1789369