俊星的BLOG
导航
BlogJava
首页
新随笔
联系
聚合
管理
<
2009年4月
>
日
一
二
三
四
五
六
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
统计
随笔 - 50
文章 - 0
评论 - 6
引用 - 0
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(1)
给我留言
查看公开留言
查看私人留言
随笔分类
代码库(7)
(rss)
随笔档案
2010年11月 (3)
2010年10月 (12)
2009年6月 (5)
2009年5月 (22)
2009年4月 (8)
最新随笔
1. 实现变更统计
2. 切换IE8中碰到的问题
3. 发布FWMS
4. ActiveMQ初探
5. CAS初步配置
搜索
最新评论
1. re: JAVA图像缩放处理[未登录]
不错的方法
--test
2. re: freetts初探
学习了! 就是不清楚为啥在eclipse下跑不起来...
--apiao
3. re: freetts初探
System property "mbrola.base" is undefined. Will not use MBROLA voices.
这个问题怎么解决啊?
--珑儿
4. re: ActiveMQ初探
测试通过。多谢
--71569973
5. 登录网站
评论内容较长,点击标题查看
--ahome
阅读排行榜
1. ftp的port和pasv模式(转)(8025)
2. JAVA图像缩放处理(4175)
3. Nutz初步试用(4105)
4. Window下FTP命令使用(3510)
5. freetts初探(3409)
6. ActiveMQ初探(2900)
7. MYSQL Access denied 问题的解决(2341)
8. HTTP Client及HTTPS初探(1985)
9. JAVA单向加密(MD5,SHA,MAC)(1263)
10. CAS认证初探(1148)
评论排行榜
1. freetts初探(2)
2. HTTP Client及HTTPS初探(2)
3. ActiveMQ初探(1)
4. JAVA图像缩放处理(1)
5. 我的DWR之DefaultContainer(0)
JAVA MAIL之简单事件
JAVA MAIL 中包含了连接、计数等事件机制,下面的对连接事件的一个简单实现:
1、事件基类:
package
myevent;
import
java.util.EventObject;
public
abstract
class
MyMailEvent
extends
EventObject
{
private
static
final
long
serialVersionUID
=
2183013741510840197L
;
public
MyMailEvent(Object source)
{
super
(source);
}
public
abstract
void
dispatch(Object listener);
}
2、连接事件类:
package
myevent;
public
class
MyConnEvent
extends
MyMailEvent
{
public
static
final
int
OPENED
=
1
;
public
static
final
int
CLOSED
=
2
;
protected
int
type;
private
static
final
long
serialVersionUID
=
6177016117289759191L
;
public
MyConnEvent(Object source,
int
type)
{
super
(source);
this
.type
=
type;
}
@Override
public
void
dispatch(Object listener)
{
switch
(type)
{
case
OPENED:
((MyConnListener) listener).opened(
this
);
break
;
case
CLOSED:
((MyConnListener) listener).closed(
this
);
default
:
break
;
}
}
public
int
getType()
{
return
type;
}
}
3、连接事件侦听类:
package
myevent;
import
java.util.EventListener;
public
interface
MyConnListener
extends
EventListener
{
public
void
opened(MyConnEvent e);
public
void
closed(MyConnEvent e);
}
4、连接事件适配器类:
package
myevent;
/** */
/**
采用Adapter的为了使用时只需重载部分方法
*/
public
abstract
class
MyConnAdapter
implements
MyConnListener
{
public
void
opened(MyConnEvent e)
{
}
public
void
closed(MyConnEvent e)
{
}
}
5、测试:
package
myevent;
import
java.util.ArrayList;
import
java.util.List;
public
class
EventTest
{
private
List
<
MyConnListener
>
conns
=
new
ArrayList
<
MyConnListener
>
();
public
void
addConnListener(MyConnListener lis)
{
conns.add(lis);
}
public
void
notifyConn()
{
List
<
MyMailEvent
>
list
=
new
ArrayList
<
MyMailEvent
>
();
list.add(
new
MyConnEvent(
"
source1
"
, MyConnEvent.OPENED));
list.add(
new
MyConnEvent(
"
source2
"
, MyConnEvent.OPENED));
list.add(
new
MyConnEvent(
"
source3
"
, MyConnEvent.CLOSED));
for
(MyMailEvent e : list)
{
for
(MyConnListener inst : conns)
{
e.dispatch(inst);
}
}
}
public
static
void
main(String[] args)
{
EventTest test
=
new
EventTest();
//
只侦听open事件
test.addConnListener(
new
MyConnAdapter()
{
public
void
opened(MyConnEvent e)
{
System.out.println(e.getSource()
+
"
:listener 1 after open
"
);
}
}
);
//
只侦听close事件
test.addConnListener(
new
MyConnAdapter()
{
public
void
closed(MyConnEvent e)
{
System.out.println(e.getSource()
+
"
:listener 2 after close
"
);
}
}
);
//
open、close都侦听
test.addConnListener(
new
MyConnAdapter()
{
public
void
opened(MyConnEvent e)
{
System.out.println(e.getSource()
+
"
:listener 3 after open
"
);
}
public
void
closed(MyConnEvent e)
{
System.out.println(e.getSource()
+
"
:listener 3 after close
"
);
}
}
);
test.notifyConn();
}
}
输出:
source1:listener
1
after open
source1:listener
3
after open
source2:listener
1
after open
source2:listener
3
after open
source3:listener
2
after close
source3:listener
3
after close
6、
点击下载代码
posted on 2009-04-25 13:13
俊星
阅读(207)
评论(0)
编辑
收藏
所属分类:
代码库
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
Chat2DB
C++博客
博问
管理
相关文章:
JAVAMAIL之我的SMTP客户端实现
JAVA MAIL之简单事件
JAVA MAIL之试用JAMES
JAVA MAIL之我的搜索
JAVA MAIL之BASE64编码解码
JAVA MAIL之email地址处理
JAVA MAIL之搜索邮件
Powered by:
BlogJava
Copyright © 俊星