1.0.0 Summary

Tittle:【Java】-NO.16.EBook.4.Java.1.011-【疯狂Java讲义第3版 李刚】-  AWT

Style:EBook

Series:Java

Since:2017-09-30

End:....

Total Hours:...

Degree Of Diffculty:2

Degree Of Mastery:2

Practical Level:2

Desired Goal:2

Archieve Goal:....

Gerneral Evaluation:...

Writer:kingdelee

Related Links:

http://www.cnblogs.com/kingdelee/

1.

2.事件适配器

事件适配器是监听器接口的空实现。用于需要创建监听器时,通过集成的方式来创建,只需要重新自己感兴趣的方法即可。

// 1.事件适配器是监听器接口的空实现。用于需要创建监听器时,通过集成的方式来创建,只需要重新自己感兴趣的方法即可
public class WindowAdapterTest
{
private Frame f = new Frame("测试");
private TextArea ta = new TextArea(6 , 40);
public void init()
{
f.addWindowListener(new MyListener());
f.add(ta);
f.pack();
f.setVisible(true);
}
class MyListener extends WindowAdapter
{
public void windowClosing(WindowEvent e)
{
System.out.println("用户关闭窗口!\n");
System.exit(0);
}
}
public static void main(String[] args)
{
new WindowAdapterTest().init();
}
}

  

// 1.使用外部类的形式构造适配器,不太推荐这种写法,这里将业务逻辑和显式逻辑耦合不好
public class MailerListener implements ActionListener
{
// 该TextField文本框用于输入发送邮件的地址
private TextField mailAddress;
public MailerListener(){}
public MailerListener(TextField mailAddress)
{
this.mailAddress = mailAddress;
}
public void setMailAddress(TextField mailAddress)
{
this.mailAddress = mailAddress;
}
// 实现发送邮件
public void actionPerformed(ActionEvent e)
{
System.out.println("程序向“"
+ mailAddress.getText() + "”发送邮件...");
// 发送邮件的真实实现
}
} public class SendMailer
{
private Frame f = new Frame("测试");
private TextField tf = new TextField(40);
private Button send = new Button("发送");
public void init()
{
// 使用MailerListener对象作为事件监听器
send.addActionListener(new MailerListener(tf));
f.add(tf);
f.add(send , BorderLayout.SOUTH);
f.pack();
f.setVisible(true);
}
public static void main(String[] args)
{
new SendMailer().init();
}
}

  

// GUI界面类继承WindowAdapter作为事件监听器类
public class SimpleEventHandler extends WindowAdapter
{
private Frame f = new Frame("测试");
private TextArea ta = new TextArea(6 , 40);
public void init()
{
// 将该类的默认对象作为事件监听器对象
f.addWindowListener(this);
f.add(ta);
f.pack();
f.setVisible(true);
}
// GUI界面类直接包含事件处理器方法
public void windowClosing(WindowEvent e)
{
System.out.println("用户关闭窗口!\n");
System.exit(0);
}
public static void main(String[] args)
{
new SimpleEventHandler().init();
}
}

  

public class AnonymousEventHandler
{
private Frame f = new Frame("测试");
private TextArea ta = new TextArea(6 , 40);
public void init()
{
// 以匿名内部类的形式来创建事件监听器对象
f.addWindowListener(new WindowAdapter()
{
// 实现事件处理方法
public void windowClosing(WindowEvent e)
{
System.out.println("用户试图关闭窗口!\n");
System.exit(0);
}
});
f.add(ta);
f.pack();
f.setVisible(true);
}
public static void main(String[] args)
{
new AnonymousEventHandler().init();
}
}

  

【Java】-NO.16.EBook.4.Java.1.011-【疯狂Java讲义第3版 李刚】- AWT的更多相关文章

  1. 【Java】-NO.16.EBook.4.Java.1.012-【疯狂Java讲义第3版 李刚】- Swing

    1.0.0 Summary Tittle:[Java]-NO.16.EBook.4.Java.1.011-[疯狂Java讲义第3版 李刚]-  Swing Style:EBook Series:Jav ...

  2. 【Java】-NO.16.EBook.4.Java.1.012-【疯狂Java讲义第3版 李刚】- JDBC

    1.0.0 Summary Tittle:[Java]-NO.16.EBook.4.Java.1.012-[疯狂Java讲义第3版 李刚]-  JDBC Style:EBook Series:Java ...

  3. 【Java】-NO.16.EBook.4.Java.1.005-【疯狂Java讲义第3版 李刚】- 枚举

    1.0.0 Summary Tittle:[Java]-NO.16.EBook.4.Java.1.005-[疯狂Java讲义第3版 李刚]- 枚举 Style:EBook Series:Java Si ...

  4. 【Java】-NO.16.EBook.4.Java.1.006-【疯狂Java讲义第3版 李刚】- 垃圾回收

    1.0.0 Summary Tittle:[Java]-NO.16.EBook.4.Java.1.006-[疯狂Java讲义第3版 李刚]- 垃圾回收 Style:EBook Series:Java ...

  5. 【Java】-NO.16.EBook.4.Java.1.007-【疯狂Java讲义第3版 李刚】- Java基础类

    1.0.0 Summary Tittle:[Java]-NO.16.EBook.4.Java.1.007-[疯狂Java讲义第3版 李刚]-  Java基础类 Style:EBook Series:J ...

  6. 【Java】-NO.16.EBook.4.Java.1.008-【疯狂Java讲义第3版 李刚】- 集合/容器

    1.0.0 Summary Tittle:[Java]-NO.16.EBook.4.Java.1.008-[疯狂Java讲义第3版 李刚]- 集合 Style:EBook Series:Java Si ...

  7. 【Java】-NO.16.EBook.4.Java.1.009-【疯狂Java讲义第3版 李刚】- 泛型

    1.0.0 Summary Tittle:[Java]-NO.16.EBook.4.Java.1.009-[疯狂Java讲义第3版 李刚]- 泛型 Style:EBook Series:Java Si ...

  8. 【Java】-NO.16.EBook.4.Java.1.010-【疯狂Java讲义第3版 李刚】- 异常

    1.0.0 Summary Tittle:[Java]-NO.16.EBook.4.Java.1.010-[疯狂Java讲义第3版 李刚]- 异常 Style:EBook Series:Java Si ...

  9. 【Java】-NO.16.EBook.4.Java.1.001-【疯狂Java讲义第3版 李刚】- UML

    1.0.0 Summary Tittle:[Java]-NO.16.EBook.4.Java.1.001-[疯狂Java讲义第3版 李刚]- Style:EBook Series:Java Since ...

随机推荐

  1. 淘宝 NPM 镜像使用

    前言 因为众所周知的原因,使用node,官方NPM仓库安装依赖包是个看人品的事情,不过有万能的淘宝,所以需要部分调整就可以避免这些原因.(以下内容osx, centos下测试通过) 淘宝镜像基本使用 ...

  2. MySQL 之 库操作

    一.系统数据库 information_schema :虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息.列信息.权限信息.字符信息等 mysql:核心数据库,里面包含用户.权限. ...

  3. ssm文件配置

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

  4. 中州韻输入法框架 ibus-rime 修改样式

    一键命令移植 Gnome-Shell 主题 $ sudo su $ curl -LO https://github.com/lemos1235/Little-Utils/raw/master/gnom ...

  5. String和datetime在SQL中和在C#中相互转换方法总结

    Custom Date and Time Format Strings   <= https://docs.microsoft.com/en-us/dotnet/standard/base-ty ...

  6. Jexus .Net at System.Net.Sockets.Socket.Connect (System.Net.IPAddress[] addresses, System.Int32 port)

    环境:Jexus(独立版)+MVC(5.2.3) +Redis+EF(6.0) Application Exception System.Net.Sockets.SocketException Con ...

  7. Caused by: org.postgresql.util.PSQLException: ERROR: operator does not exist: character varying = integer

    Springboot项目,使用postgresql数据库,mybatis做持久层框架, <select id="select" resultMap="BaseRes ...

  8. Ubuntu16.04下安装QT5.8

    https://blog.csdn.net/hhrock/article/details/61621044

  9. 删除一个cjson导致系统死机

    一个未使用,未分配的cjson指针应该被删除,如果尝试删除一个 未分配,未启用的cjson将导致内存出错,死机.

  10. [No0000163]卷福、神秘博士和一群老戏骨表演群口相声:To be or not to be该咋念,简直高潮迭起

        'To be or not to be, that is the question',<哈姆雷特>中这句经典台词到底应该怎么念? 这是古今无数哈姆雷特演员最爱琢磨的问题,一千个人就 ...