【Java】-NO.16.EBook.4.Java.1.011-【疯狂Java讲义第3版 李刚】- AWT
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的更多相关文章
- 【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 ...
- 【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 ...
- 【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 ...
- 【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 ...
- 【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 ...
- 【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 ...
- 【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 ...
- 【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 ...
- 【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 ...
随机推荐
- [ASP.NET MVC]视图是如何呈现的 (续)
在上一篇文章中,我们知道了通过Controller执行ActionResult的Execute可以找到对应Controler对应的ViewEngine,然后在View中把Action的结果显示出来.那 ...
- 如何获取类或属性的自定义特性(Attribute)
如何获取类或属性的自定义特性(Attribute) 问题说明: 在ActiveRecord或者其他的ORM等代码中, 我们经常可以看到自定义特性(Attribute)的存在(如下面的代码所示) [Pr ...
- Django框架详解
一.WSGI接口 WSGI服务网关接口:Web Server Gateway Interface缩写. WSGI是python定义的Web服务器和Web应用程序之间或框架之间的通用接口标准. WSGI ...
- AI,大数据,复杂系统 最精 40本大书单
AI,大数据,复杂系统 最精 40本大书单 原创 2017-10-30 Peter 混沌巡洋舰 如果这篇文的题目变成最全书单,那么这篇文会变得又臭又长,这个年代,关于人工智能和大数据的书,没有一万本也 ...
- python 多返回值
多返回值: def count(): fs = [] for i in range(1, 4): def f(j): def g(): return j*j return g fs.append(f( ...
- ZOJ Problem Set - 2014 Piggy-Bank【完全背包】
Description Before ACM can do anything, a budget must be prepared and the necessary financial suppor ...
- 更换title上的ico
var rurl = "/static/dashboard/img/favicon.ico"; var a = ''; var links = document.getElemen ...
- html学习_网页与html直接的关系
- hive优化之调整mapreduce数目
一.调整hive作业中的map数 1.通常情况下,作业会通过input的目录产生一个或者多个map任务.主要的决定因素有: input的文件总个数,input的文件大小,集群设置的文件块大小(目前为1 ...
- 一种历史详细记录表,完整实现:CommonOperateLog 详细记录某用户、某时间、对某表、某主键、某字段的修改(新旧值
一种历史详细记录表,完整实现:CommonOperateLog 详细记录某用户.某时间.对某表.某主键.某字段的修改(新旧值). 特别适用于订单历史记录.重要财务记录.审批流记录 表设计: names ...