图形用户界面(gui):
用户与程序交互的窗口。
AWT(库文件)---->swing------>swt(库文件)----->JFace(图形包)
ide(集成开发环境)-----VS、eclipse等
swing组件:
边界布局管理器
/**
* @author 司**
* 功能:borderlayout(边界布局管理器)演示
* 1、继承JFrame
* 2、定义需要的组件
* 3、创建组件(构造函数中较好)
* 4、添加组件
* 5、设置窗体属性
* 6、显示窗体
*/
package com.gui;
import java.awt.BorderLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
public class Demo2 extends JFrame {
//1、定义组件
JButton jButton1,jButton2,jButton3,jButton4,jButton5;
public static void main(String[] args){
//继承了JFrame的类包含了JFrame的所有行为和属性,
//创建继承者的实例和创建JFrame的实例是一样的。还外带了一些功能
Demo2 demo2=new Demo2();
}
//构造函数初始化组件
public Demo2(){
jButton1=new JButton("中部");
jButton2=new JButton("北部");
jButton3=new JButton("东部");
jButton4=new JButton("南部");
jButton5=new JButton("西部");
//添加各个组件到合适的位置
this.add(jButton1, BorderLayout.CENTER);
this.add(jButton2, BorderLayout.NORTH);
this.add(jButton3, BorderLayout.EAST);
this.add(jButton4, BorderLayout.SOUTH);
this.add(jButton5, BorderLayout.WEST);
//设置窗体属性
this.setTitle("边界布局演示");
this.setSize(300, 200);
this.setLocation(100, 200);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//显示窗体
this.setVisible(true);
}
}
流式布局FlowLayout
/**
* @author 司**
* 功能:流式布局管理器演示
* 1、继承JFrame
* 2、定义需要的组件
* 3、创建组件(构造函数中较好)
* 4、添加组件
* 5、设置窗体属性
* 6、显示窗体
*/
package com.gui;
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
//继承JFrame
public class Demo3 extends JFrame{
//定义需要的组件
JButton jbutton1,jbutton2,jbutton3,jbutton4,jbutton5,jbutton6;
public static void main(String[] args) {
// TODO Auto-generated method stub
Demo3 demo3=new Demo3();
}
//构造函数
public Demo3(){
//创建组件
jbutton1=new JButton("关羽");
jbutton2=new JButton("张飞");
jbutton3=new JButton("赵云");
jbutton4=new JButton("马超");
jbutton5=new JButton("黄忠");
jbutton6=new JButton("魏延");
//添加组件
this.add(jbutton1);
this.add(jbutton2);
this.add(jbutton3);
this.add(jbutton4);
this.add(jbutton5);
this.add(jbutton6);
//设置窗体属性
this.setTitle("流式布局演示");
this.setSize(300, 200);
this.setLocation(100, 200);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//窗体属性------布局管理器(默认情况下是边界布局管理器)
//设置为流式布局管理器,采用右对齐(默认采用居中布局)
this.setLayout(new FlowLayout(FlowLayout.RIGHT));
//显示
this.setVisible(true);
}
}
网格布局GridLayout
/**
* @author 司**
* 功能:网格局管理器演示---一般做计算器面板
* 1、继承JFrame
* 2、定义需要的组件
* 3、创建组件(构造函数中较好)
* 4、添加组件
* 5、设置窗体属性
* 6、显示窗体
*/
package com.gui;
import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
//继承
public class Demo4 extends JFrame{
//定义组件
int size=9;
JButton jButton[]=new JButton[size];
public static void main(String[] args) {
// TODO Auto-generated method stub
Demo4 demo4=new Demo4();
}
public Demo4(){
//创建组件
for (int i = 0; i < jButton.length; i++) {
jButton[i]=new JButton(String.valueOf(i));
}
//添加组件到窗体
for (int j = 0; j < jButton.length; j++) {
this.add(jButton[j]);
}
//设置窗体属性
//分布管理器采用网格布局管理器设置为3*3类型,组件间距左右为10,上下为5
this.setLayout(new GridLayout(3, 3,10,5));
//窗体其他属性
this.setTitle("网格布局管理器");
this.setSize(300, 300);
this.setLocation(100, 200);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//显示
this.setVisible(true);
}
}