JAVA -GUI 概述


//仅作为学习笔记


GUI 概述


GUI (Graphical User Interface 图形用户界面)
用图形的方式 来显现计算机操作的界面  更方便直观


CLI(Command line User Interface 命令行用户接口)
比如常见的Dos 命令行操作
需要记忆一些常用的命令  操作不直观


Java 为GUI提供的对象都存在java.Awt 和javax.Swing两个包中


java.Awt : Abstract Window ToolKit(抽象窗口工具包)
需要调用本地系统方法实现功能 属于重量级控件


javax.Swing :在Awt 的基础上 建立的一套图形界面系统
其中提供了更多的控件 而且完全由java 实现 增强了移植性
属于轻量级控件


布局管理器

容器中的组件的排放方式
常见的布局管理器
FlowLayout(流式布局管理器)
从左到右的顺序排列
Panel 默认的布局管理器
BorderLayout(边界布局管理器)
东 南 西 北 中
Frame 默认的布局管理器
GridLayout(网络布局管理器)
规则的矩阵
GardLayout(卡片布局管理器)
选项卡
GridBagLayout(网络布局管理器)
非规则的矩阵



GUI(Frame)


建立一个简单的窗体

a) Container 常用子类: Window Panel(面板-不能单独存在)

b)Window 常见子类 Frame Dialog


/*
	创建图形化界面
	1,创建frame窗体
	2,对窗体进行基本设置
		比如大小,位置,布局
	3,定义组件
	4,将组件通过窗体的add方法添加到窗体中
*/

import java.awt.*;

class AwtDemo
{
	public static void main(String []args)
	{
		Frame f = new Frame("my awt");//创建frame窗体
		f.setSize(500,400);//设置窗体的横纵宽度(设置窗体大小)
		f.setLocation(300,200);//设置窗体在屏幕上出现的坐标
		f.setLayout(new FlowLayout());//设置窗体的布局 此处为流式布局

		Button b = new Button("创建一个按钮");

		f.add(b);//将按钮添加到窗体上
		f.setVisible(true);//设置窗体为课件

	}

}



GUI 事件监听机制组成

a)事件源(组件) 就是awt 包 或者 swing 包中的 那些图形界面组件

b)事件(Event) 每一个事件源都有自己独特的对应事件和共性事件

c)监听器(Listener) 将可以触发某一事件(不只是一个动作) 都已经封装到监听器中

d)事件处理(引发事件后处理方式)


GUI 窗体事件


//此例只是在窗体中添加上关闭按钮的功能
import java.awt.*;
import java.awt.event.*;

class AwtDemo
{
	public static void main(String []args)
	{
		Frame f = new Frame("my awt");//创建frame窗体
		f.setSize(500,400);//设置窗体的横纵宽度(设置窗体大小)
		f.setLocation(300,200);//设置窗体在屏幕上出现的坐标
		f.setLayout(new FlowLayout());//设置窗体的布局 此处为流式布局

		Button b = new Button("创建一个按钮");

		f.add(b);//将按钮添加到窗体上

		  f.addWindowListener(new MyWin());

	/*
		用匿名内部类来表述
	
	f.addWindowListener(
		new WindowAdapter()
		{
			public void windowClosing(WindowEvent e)
			{
				System.exit(0);
			}
			public void windowActivated(WindowEvent e)
			{
				System.out.println("窗口被激活(窗口显示在屏幕最前端)");
			}
			public void windowOpened(WindowEvent e)
			{
				System.out.println("窗口被打开");
			}
		}	
	);
	*/
	
		f.setVisible(true);//设置窗体为课件

	}

}

/*
class MyWin implements WindowListener
{
	//需要覆盖7个方法 而此只打算用到关闭的动作
	//没用到其他动作 却必须复写其他方法 故不采用
}
*/

//因为WindowListener 的子类 WindowAdapter 已经实现了WindowListener 接口
//并且覆盖了其中的所有方法  因此此处只要继承WindowAdapter 并覆盖所需要的方法即可
class MyWin extends WindowAdapter
{
	public void windowClosing(WindowEvent e)
	{
		//System.out.println("window closing!"+e.toString());
		System.exit(0);
	}
}




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值