今天我们要实现这个关闭窗口的功能,就是点窗口的那个叉叉它会关闭。

设计窗口的事件就是WindowsEvents,而与之有关的监听器就是WindowsListener

WindowsListener也是个接口,它有7个方法,分别处理windows的不同的事件。  比如windowActivated()window被激活,就是两个窗口,一个是颜色变灰,一个仍是蓝色,然后你用鼠标点那个灰的窗口它变成蓝色这叫激活窗口。  windowClosed()  已经关后做出的反应  windowClosing()正在关闭,这是我们要处理的事件。  windowIconified()卡片化,也是最小化的意思。

看例子代码(内部类的写法):

import java.awt.*;
import java.awt.event.*; public class TestWindowClose {
public static void main(String[] args) {
new MyFrame55("fuck");
}
} class MyFrame55 extends Frame { public MyFrame55(String s) {
super(s);
setBounds(300,300,400,400);
setLayout(null);
setBackground(new Color(204,204,255));
setVisible(true);
addWindowListener(new MyWindowMonitor());
} class MyWindowMonitor extends WindowAdapter { //内部类,因为这个是window关闭的这个事件监听类对于其他类一点关系都没有
public void windowClosing(WindowEvent e) { //重写正在关闭这个事件
setVisible(false);
System.exit(0);//存0是正常退出,存-1是非正常退出。
}
} }

哎其实这个类和其他的方法有关系吗?除了和这个addWindowListener()所以,除了这个写法,我们还有这样的一种写法,这种写法叫做方法内的类:局部类,也叫匿名的内部类

    this.addWindowListener(
new WindowAdapter() {//像一个类的类体,但它没有名字
public void windowClosing(WindowEvent e) {
setVisible(false);
System.exit(-1);
}
});

这个类是当成WindowAdapter来用。所以语法这样写本质上的意义就是这个类从WindowAdapter继承,我们new了这个类的一个对象出来把它当作WindowAdapter来用。

匿名类一般是 逻辑简单,语句少,不经常变动,使用匿名类

就知道有这个东西,看得懂别人写的就行了。

windowsEvents的更多相关文章

随机推荐

  1. Office EXCEL 2010如何取消宏密码保护

    打开宏编辑器之后,右击VBA项目,然后属性,保护中去掉密码即可      

  2. System.Diagnostics.Debug.WriteLine 在OutPut中无输出

    TextWriterTraceListener writer = new TextWriterTraceListener(System.Console.Out);              Debug ...

  3. Idea 13 新建maven项目

    1.此时生成的maven项目没有web文件夹 file→New Project→Maven→Next→GID.AID (NewDemo)→Next→ProjectName(NewDemo)→Finis ...

  4. C# 性能优化 之 秒表 Stopwatch。 Dapper一个和petapoco差不多的轻量级ORM框架

    Sweet小马 小马同学的编程日记. C# 性能优化 之 秒表 Stopwatch. 生词解释:Diagnostics[,daɪəg'nɑstɪks] n.诊断学 using System.Diagn ...

  5. 一起talk C栗子吧(第一百二十一回:C语言实例--线程知识体系图)

    各位看官们.大家好,上一回中咱们说的线程属性的样例.这一回咱们说的样例是:线程知识体系图.闲话休提.言归正转. 让我们一起talk C栗子吧! 我们在前面的章回中介绍了与线程相关的知识,在今天的章回中 ...

  6. Codeforces Round #316 (Div. 2) C. Replacement

    题意:给定一个字符串,里面有各种小写字母和' . ' ,无论是什么字母,都是一样的,假设遇到' . . ' ,就要合并成一个' .',有m个询问,每次都在字符串某个位置上将原来的字符改成题目给的字符, ...

  7. 《Java设计模式》之訪问者模式

    訪问者模式是对象的行为模式.訪问者模式的目的是封装一些施加于某种数据结构元素之上的操作.一旦这些操作须要改动的话,接受这个操作的数据结构则能够保持不变. 分派的概念 变量被声明时的类型叫做变量的静态类 ...

  8. 【Sublime】Sublime Text 2集成TortoiseSVN插件

    作者:zhanhailiang 日期:2014-09-30 1. 下载TortoiseSVN.将其安装在默认位置: 2. 使用Sublime包管理器下载安装TortoiseSVN Plugin,安装后 ...

  9. Oracle学习(18)【DBA向】:分布式数据库

    分布式数据库 什么是分布数据库? l数据物理上被存放在网络的多个节点上,逻辑上是一个总体. 分布式数据库的独立性 l分布数据的独立性指用户不必关心数据怎样切割和存储,仅仅需关心他须要什么数据. Ora ...

  10. WebService_使用三要素

    一.Java中WebService规范 JAVA 中共有三种WebService 规范,分别是JAX-WS.JAX-RS.JAXM&SAAJ(废弃). 1.JAX-WS规范 JAX-WS 的全 ...