作者TonyQ (骨头)
看板java
标题Re: [问题] 关於事件处理
时间Wed Feb 27 21:35:19 2008
※ 引述《akdsy (我喜欢小玉)》之铭言:
: 我照着书上这样写,
: 做按钮的时候是利用 actionPerformed()
: public void actionPerfromed(ActionEvent e)
: {
: Button btn = (Button) e.getSource();
: ................
: }
: 这样的确可以在按下按钮之後做出反应,
: 然後在做Menu的时候,
: 他也是利用 actionPerfromed()
: public void actionPerformed( ActionEvent e)
: {
: MenuItem mi = (MenuItem) e.getSource();
: ...................
: }
: 问题来了!
: 可是要是同时做有 Botton 和 Menu 的时候,
: 这样要怎麽让 Button 和 Menu 做区别呢!
Object objClick= e.getSource();
if(objClick instanceof MenuItem){
MenuItem mi = (MenuItem) objClick;
/* do something ....*/
}else if( objClick instanceof Button){
Button btn = (Button) objClick;
/*do something*/
}
或者如果你已经确定它会是那个实例
if(objClick== smButton ){
/*do something....*/
}
instanceof 关键字可以分辨出类别 「属於」 那个类别
是二元关键字 会回传boolean值
--
I am a person, and I am always thinking .
Thinking in love , Thinking in life ,
Thinking in why , Thinking in worth.
I can't believe any of what ,
I am just thinking then thinking ,
but worst of all , most of mine is thinking not actioning...
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 60.250.227.184
1F:→ TonyQ:更高阶的state pattern 或 command pattern就不讲了 XD 02/27 21:35
2F:推 akdsy:刚温! 02/27 21:42
3F:推 PsMonkey:==.==== 居然教人家用这招... 02/27 21:55
4F:推 geo760217:我也用这招啊XD 02/29 00:33