俊星的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模式(轉)(8036)
2.?JAVA圖像縮放處理(4187)
3.?Nutz初步試用(4110)
4.?Window下FTP命令使用(3523)
5.?freetts初探(3436)
6.?ActiveMQ初探(2910)
7.?MYSQL Access denied 問題的解決(2347)
8.?HTTP Client及HTTPS初探(1993)
9.?JAVA單向加密(MD5,SHA,MAC)(1269)
10.?CAS認證初探(1159)
評論排行榜
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
俊星
閱讀(217)
評論(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 © 俊星
主站蜘蛛池模板:
林西县
|
深泽县
|
理塘县
|
秦皇岛市
|
曲靖市
|
龙岩市
|
长沙市
|
江华
|
衢州市
|
察哈
|
松江区
|
遵义市
|
四川省
|
乌兰察布市
|
舞阳县
|
邵阳县
|
兰考县
|
东阿县
|
马关县
|
四会市
|
浙江省
|
赤城县
|
格尔木市
|
德令哈市
|
韶山市
|
嘉善县
|
江安县
|
濮阳县
|
柞水县
|
宁阳县
|
永嘉县
|
巫山县
|
基隆市
|
山西省
|
大兴区
|
通城县
|
阜康市
|
建始县
|
剑河县
|
呼图壁县
|
鹤山市
|