/*
栗子 了解swing
*/
import javax.swing.*;
public class test_swing extends JFrame {
//继承JFrame顶层容器类(可以添加其他swing组件的类)
JButton jb1 = null;
public static void main(String[] args) {
test_swing win = new test_swing();
}
//构造函数
public test_swing(){
jb1 = new JButton("按钮");
this.add(jb1);
this.setTitle("Hello Swing World");
this.setSize(500,500);
this.setLocation(500,150);
//设置当关闭窗口时,保证JVM也退出
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
}
【三大常?布局管理器】
布局管理器--介绍
1、概念
组件在容器(如JFrame)中的位置和??是由布局管理器来决定的。所有的容器都会
使用一个布局管理器,通过它来自动进行组件的布局管理。
2、种类
java共提供了五种布局管理器: 流式布局管理器(FlowLayout)、 边界布局管理器
(BorderLayout)、 网格布局管理器(GridLayout)、 卡片布局管理器(CardLayout)、 网格包布
局管理器(GridBagLayout)。其中前三种是最常?的布局管理器。
边界布局BorderLayout--介绍
边界布局(BorderLayout)将容器简单的划分为东南西北5个区域,中间区域最大。
JFrame窗体, JDialog对话框组件默认布局方法
边界布局BorderLayout--注意事项
1、不是五个部分都必需添加;
2、中部组件会?动调节大小;
3、 JFrame, Jdialog默认布局管理器就是BorderLayout
import javax.swing.*;
import java.awt.*;
/*
栗子 边界布局BorderLayout使?演示
* 1、继承JFrame
* 2、定义你需要的各个组件
* 3、创建组件(在构造函数中组件)
* 4、添加组件
* 5、对窗体设置
* 6、显示窗体
*/
public class test_swing extends JFrame {
JButton jb1,jb2,jb3,jb4,jb5;
public test_swing(){
jb1 = new JButton("中部");
jb2 = new JButton("北部");
jb3 = new JButton("东部");
jb4 = new JButton("南部");
jb5 = new JButton("西部");
//添加各个组件
this.add(jb1, BorderLayout.CENTER);
this.add(jb2,BorderLayout.NORTH);
this.add(jb3,BorderLayout.EAST);
this.add(jb4,BorderLayout.SOUTH);
this.add(jb5,BorderLayout.WEST);
//设置窗体属性
this.setTitle("边界布局演示");
this.setSize(300,200);
this.setLocation(200,200);
//退出窗体后将JFrame同时关闭
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//显示窗体
this.setVisible(true);
}
public static void main(String[] args) {
test_swing win = new test_swing();
}
}
三?常?布局管理器--流式布局
流式布局FlowLayout--介绍
FlowLayout布局,按照组件的添加次序将按钮组件(当然也可以是别的组件)从左到右放置
在容器中。当到达容器的边界时,组件将放置到下??中。 FlowLayout可以以左对?、居
中对?、以右对?的?式排列组件
import javax.swing.*;
import java.awt.*;
/*
栗子 流式布局FlowLayout使?演示
* 1、继承JFrame
* 2、定义你需要的各个组件
* 3、创建组件(在构造函数中组件)
* 4、添加组件
* 5、对窗体设置
* 6、显示窗体
*/
public class test_swing extends JFrame {
//定义组件
JButton jb1,jb2,jb3,jb4,jb5,jb6;
public test_swing(){
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.setLayout(new FlowLayout(FlowLayout.LEFT));
//设置窗体属性
this.setTitle("流式布局演示");
this.setSize(300,200);
this.setLocation(200,200);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//禁止用户改变窗体大小
this.setResizable(false);
//显示窗体
this.setVisible(true);
}
public static void main(String[] args) {
test_swing win = new test_swing();
}
}