我们创建了窗体后,就要对窗体进行操作,比如关闭窗口。而这时候就要建立监听机制:

事件监听机制:
  A:事件源 事件发生的地方
  B:事件 就是要发生的事情
  C:事件处理 就是针对发生的事情做出的处理方案
  D:事件监听 就是把事件源和事件关联起来

举例:人受伤事件。

事件源:人(具体的对象)
  Person p1 = new Person("张三");
  Person p2 = new Person("李四");
事件:受伤
  interface 受伤接口 {
      一拳();
      一脚();
      一板砖();
  }
事件处理:
  受伤处理类 implements 受伤接口 {
    一拳(){ System.out.println("鼻子流血了,送到卫生间洗洗"); }
    一脚(){ System.out.println("晕倒了,送到通风处"); }
    一板砖(){ System.out.println("头破血流,送到医院"); }
}
事件监听:
  p1.注册监听(受伤接口)

 public class FrameDemo1 {
public static void main(String[] args) { //创建窗口
Frame f = new Frame("监听机制");
//设置属性
f.setBounds(300, 300, 300, 400);
// 让窗体关闭
//用于接收窗口事件的侦听器接口 WindowListene
//事件源:窗体
//事件:对窗体的处理
//事件处理:关闭窗口(System.exit(0));
//事件监听 //添加侦听器接口
f.addWindowListener(new WindowListener() { public void windowOpened(WindowEvent e) {
// TODO Auto-generated method stub } public void windowIconified(WindowEvent e) {
// TODO Auto-generated method stub } public void windowDeiconified(WindowEvent e) {
// TODO Auto-generated method stub } public void windowDeactivated(WindowEvent e) {
// TODO Auto-generated method stub }
//只监听关闭方法
public void windowClosing(WindowEvent e) {
//关闭窗口
System.exit(0); } public void windowClosed(WindowEvent e) {
// TODO Auto-generated method stub } public void windowActivated(WindowEvent e) {
// TODO Auto-generated method stub }
}); //显示窗口
f.setVisible(true);
} }

上面那种方法,只需要使用一种方法,但却调出了接口的所有构造方法,这样太浪费
  用适配器改进 接收窗口事件的抽象适配器类。WindowAdapter
步骤:

  创建侦听器,匿名内部类写适配器类,重写适配器类的构造方法

代码:

 //创建侦听器,匿名内部类写适配器类,重写适配器类的构造方法
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
//super.windowClosing(e);
//重写方法
System.exit(0);
}
});

java 24 - 2 GUI之监听机制和适配器改进窗口关闭的更多相关文章

  1. JAVA之旅(三十一)——JAVA的图形化界面,GUI布局,Frame,GUI事件监听机制,Action事件,鼠标事件

    JAVA之旅(三十一)--JAVA的图形化界面,GUI布局,Frame,GUI事件监听机制,Action事件,鼠标事件 有段时间没有更新JAVA了,我们今天来说一下JAVA中的图形化界面,也就是GUI ...

  2. 关于JAVA中事件分发和监听机制实现的代码实例-绝对原创实用

    http://blog.csdn.net/5iasp/article/details/37054171 文章标题:关于JAVA中事件分发和监听机制实现的代码实例 文章地址: http://blog.c ...

  3. GUI编程笔记(java)05:GUI事件监听机制原理和举例说明

    1.事件监听机制:       A:事件源          事件发生的地方       B:事件             就是要发生的事情       C:事件处理       就是针对发生的事情做 ...

  4. java中的key事件监听机制

    package com.at221; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import javax.sw ...

  5. 监听 window.open 打开的窗口关闭并回调

    第三方的登录的解决方案通常有两种方式,一是打开一个新的标签页,然后登录回调回来: 二是通过父窗口打开一个子窗体去第三方登录,登陆成功时关掉子窗体回到父窗口. 问题来了 我的父窗体怎么样才知道子窗体被关 ...

  6. java Gui编程 事件监听机制

    1.     GUI编程引言 以前的学习当中,我们都使用的是命令交互方式: 例如:在DOS命令行中通过javac java命令启动程序. 软件的交互的方式:   1. 命令交互方式    图书管理系统 ...

  7. 4.JAVA之GUI编程事件监听机制

    事件监听机制的特点: 1.事件源 2.事件 3.监听器 4.事件处理 事件源:就是awt包或者swing包中的那些图形用户界面组件.(如:按钮) 事件:每一个事件源都有自己特点有的对应事件和共性事件. ...

  8. 创建图形用户界面GUI和事件监听机制的简单实现(java)

    创建图形化界面 1.创建Frame窗体      2.对窗体进行基本设置 比如:大小.位置.布局      3.定义组件      4.将组建通过窗体添加到窗体中 5.让窗体显示,通过setVisib ...

  9. JAVA GUI 事件监听事件 详解 和 案例.

    GUI(图形用户界面) Graphical User Interface(图形用户接口) 用图形的 方式, 来显示 计算机操作的 界面, 这样更方便 更直观. CLI Command Line Use ...

随机推荐

  1. WAMP集成环境的安装

    暑假已经正式开始,我的学习计划也开始有了初步的进展,今天学习的主要内容是PHP的基础知识,以及在电脑上面安装了集成的WAMP(Windows+Apache+MySQL+PHP). PHP的基础知识: ...

  2. IDA调试android so文件.init_array和JNI_OnLoad

    我们知道so文件在被加载的时候会首先执行.init_array中的函数,然后再执行JNI_OnLoad()函数.JNI_Onload()函数因为有符号表所以非常容易找到,但是.init_array里的 ...

  3. MySQL 常见的sql命令

    注意事项: 1.sql 使用单引号来环绕文本值(大部分数据库系统也接受双引号).如果是数值,请不要使用引号. 一.数据库 1.创建数据库 CREATE DATABASE lesson ; 创建一个名字 ...

  4. 功能源代码(扇形进度)及Delegate运用在开放事件中、UINavigationController的封装

    1:扇形进度视图及运用 首先先创建扇形的视图,传入进度值 #import <UIKit/UIKit.h> @interface LHProgressView : UIView @prope ...

  5. C++语言-05-三大特性

    概述 C++ 是面向对象的语言,具备 OOP 的基本特性. 封装 概念 将数据和操作数据的函数绑定在一起 作用 避免受到外界的干扰和误用,确保了安全 与封装相关的概念 数据抽象 仅向用户暴露接口而把具 ...

  6. sshd安装

    centos yum install openssh-server #chkconfig --level 2345 sshd on #service sshd restart 重新启动 #netsta ...

  7. 1.4 基础知识——GP2.2 计划 与 GP2.8 计划跟踪

    摘要: CMMI有计划(PP)及计划跟踪(PMC)两个PA,而某一个PA又有GP2.2计划及GP2.8计划跟踪两个GP,看上去是挺“神奇”也挺让人“困惑”的事情. 正文: GP2.2 Establis ...

  8. HttpModule

    HttpModule是如何工作的 当一个HTTP请求到达HttpModule时,整个ASP.NET Framework系统还并没有对这个HTTP请求做任何处理,也就是说此时对于HTTP请求来讲,Htt ...

  9. Oracle索引梳理系列(二)- Oracle索引种类及B树索引

    版权声明:本文发布于http://www.cnblogs.com/yumiko/,版权由Yumiko_sunny所有,欢迎转载.转载时,请在文章明显位置注明原文链接.若在未经作者同意的情况下,将本文内 ...

  10. 烂泥:CentOS命令学习之scp复制

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 由于工作需要,需要把服务器A上的文件弄一份到服务器B上.自己比较懒不打算搭建FTP.Samba服务器,所以就打算使用scp命令,scp命令是通过ssh协 ...