java用户图形界面

一.什么是GUI?

GUI全称Graphical User Interface,即用户图形界面。几乎所有的程序设计及软件都提供GUI设计功能。java针对GUI提供了丰富的类库,这些类分别位于java.awt和javax.swing包中,简称AWT和swing。

AWT是用于创建图形用户界面的一个工具包,它提供了一系列用于实现图形用户界面的组件,如窗口,按钮,对话框等。
AWT中的组件分成两大类,分别是ComponentMenuComponent.
MenuComponent是所有与菜单相关组件的父类。
Component类通常被称为组件,根据Component的不同作用,可分为基本组件类和容器类。
而容器类则是通过Component子类Container实例化的对象,Container容器又分成两种类型,分别是Window和Panel.

1.Window类是不依赖其他容器而单独存在的容器,它有两个子类分别Frame和Dialog类。

Frame类用于创建一个具有标题栏的框架窗口,作为程序的在主界面
Dialog类用于创建一个对话框,实现用户的信息交互。
2.Panel类不能单独存在,只能存在其他容器中。

案例一 创建一个简单的图形界面,鼠标事件

package hyz;
import java.awt.event.*;
import java.awt.*;
import java.awt.Frame;

public class Zhu02 {
	public static void main(String args[]){
		Frame f=new Frame("我的窗体!");
		f.setSize(400,300);
		f.setLocation(300,500);
		f.setVisible(true);
		/*Button btn=new Button("EXIT");
		f.add(btn);
		btn.addMouseListener(new MouseAdapter(){
			public void mouseClicked(MouseEvent e) {
				System.exit(0);*/
		Button but=new Button("button");
		f.add(but);
		but.addMouseListener(new MouseAdapter(){
			public void mouseReleased(MouseEvent e){
			System.out.println("mouseReleased-鼠标放开事件");
			}
			public void mousePressed(MouseEvent e){
				System.out.println("mousePressed-鼠标按下事件");
			}
			public void mouseEntered(MouseEvent e){
				System.out.println("mouseEntered-鼠标进入按钮区事件");
			}
			
			public void mouseClicked(MouseEvent e){
				System.out.println("mouseClicked-鼠标完成按钮区事件");}
				public void mouseExited(MouseEvent e){
					System.out.println(" mouseExited(-鼠标移出按钮区事件");
					System.exit(0);
						
			}			
				
			});
		}
	}
案例二.匿名内部类使用

package hyz;
import java.awt.*;
import java.awt.event.*;
public class Zhu02 {
	public static void main(String args[]){
		final Frame f=new Frame("mywindow可关闭");
		//f.setLayout(new BorderLayout());
		f.setSize(400,300);
		f.setLocation(600,500);
		f.setVisible(true);//设置窗口可见
		f.addWindowListener(new MyWindowLisener());//为窗口组件注册监听器
	}
	}
class MyWindowLisener extends WindowAdapter{
	public void windowClosing(WindowEvent e){
		Window window=(Window) e.getComponent();//定义的window类继承了适配器类
		window.dispose();
		
	}
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值