java鼠标监听器适配器_Java GUI:事件监听器 和 事件适配器 | 学步园

/*

事件监听器:

一个事件监听器对象负责处理一类事件

一类事件的每一种发生情况,分别由事件监听器对象中的一个方法来具体处理.

在事件源和事件监听器对象中进行约定的接口类,被成为事件监听器接口.

事件监听器接口类的名称与事件类的名称是相对应的,例如MouseEvent事件类的监听器接口名为MouseListener.

处理发生在某个GUI组件上的XXXEvent事件的某种情况,其事件处理的通用编写流程:编写一个实现了XXXListener接口的事件监听器类.

XXXListener类中的用于处理该事件情况的方法中,编写处理代码.

调用组建的addXXXListener方法,将类XXXListener创建的实例对象注册到GUI组件上.

JDK中也提供了大多数事件监听器接口的最简单的实现类,称之为事件适配器(Adapter)类.

用事件适配器来处理事件,可以简化事件监听器编写

*/

import java.awt.Button;

import java.awt.Dimension;

import java.awt.Frame;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

public class TestFram

{

public static void main(String[] args)

{

Frame f=new Frame("UGI应用程序 ! ");//创建一个窗口实例,标题为UGI应用程序

f.setSize(100,300);//设置窗口的宽和高

f.setVisible(true);//设置false: 隐藏部件

//有两种方式可以执行关闭窗口,1事件监听器,2事件适配器

//f.addWindowListener(new MyWindowListener());//注册事件监听器

f.addWindowListener(new MyWindowAdapter());//注册事件适配器

//添加一个按钮

Button bt=new Button("关闭");

//部署按钮宽和高

Dimension d=new Dimension();

d.width=20;

d.height=10;

bt.setSize(d);//设置宽和高

f.add(bt);

}

}

MyWindowListener.java :事件监听器

package mgh.java.gui;

import java.awt.Window;

import java.awt.event.WindowEvent;

import java.awt.event.WindowListener;

public class MyWindowListener implements WindowListener

{

@Override

public void windowActivated(WindowEvent e) {

// TODO Auto-generated method stub

}

@Override

public void windowClosed(WindowEvent e) {

// TODO Auto-generated method stub

}

@Override

public void windowClosing(WindowEvent e) {

// TODO Auto-generated method stub

e.getWindow().setVisible(false);//隐藏窗口

((Window)e.getComponent()).dispose();//关闭窗口

//另一种方式:

//((Window)e.getSource()).dispose();

System.out.println("已经关闭窗口 ! ");

System.exit(0);//关闭程序

}

@Override

public void windowDeactivated(WindowEvent e) {

// TODO Auto-generated method stub

}

@Override

public void windowDeiconified(WindowEvent e) {

// TODO Auto-generated method stub

}

@Override

public void windowIconified(WindowEvent e) {

// TODO Auto-generated method stub

}

@Override

public void windowOpened(WindowEvent e) {

// TODO Auto-generated method stub

}

}

MyWindowAdapter.java 事件适配器

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

public class MyWindowAdapter extends WindowAdapter

{

public void windowClosing(WindowEvent e)

{

System.out.println("事件适配器,已经执行!");

e.getWindow().dispose();//关闭窗口

System.exit(0);

}

}

csdn_boot_950_26.gif

CSDN

Java编程技术交流QQ群:171396965  技术需要交流,技术需要与时俱进.这里是优秀爱好Java编程的集聚地,我们一起学习,共同进步.加入时请注明Java字样,谢谢.

qq_950_150.jpg

csdn_boot2_950_50.gif

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
©️2020 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页