关于Java事件处理的一些问题,谢谢。

/*001*/importjava.awt.*;/*002*/importjava.awt.event.*;/*003*//*004*/publicclasscardLa... /*001*/ import java.awt.*;
/*002*/ import java.awt.event.*;
/*003*/
/*004*/ public class cardLayoutDemo3 extends Frame{
/*005*/ Panel first,second;
/*006*/ Panel pan;
/*007*/ CardLayout card0;
/*008*/ boolean flag = true;
/*009*/
/*010*/ cardLayoutDemo3(){
/*011*/ super("CardLayout Demostration");
/*012*/ first = new Panel();
/*013*/ first.add(new Label("第一张牌"));
/*014*/ second = new Panel();
/*015*/ second.add(new Label("第二张牌"));
/*016*/ first.setBackground(Color.gray);
/*017*/ second.setBackground(Color.lightGray);
/*018*/ card0 = new CardLayout();
/*019*/ pan = new Panel();
/*020*/ pan.setLayout(card0);
/*021*/ pan.add("fst",first);
/*020*/ pan.add("scnd",second);
/*022*/
/*023*/ Panel control = new Panel();
/*024*/ Button btn = new Button("切换");
/*026*/ control.add(btn);
/*027*/
/*028*/ add("Center",pan);
/*029*/ add("North", control);
/*030*/
/*031*/ pack();
/*032*/ setSize(200,200);
/*033*/ setVisible(true);
/*034*/ addWindowListener(new WindowAdapter(){
/*035*/ public void windowClosing(WindowEvent e){
/*036*/ System.exit(0);
/*037*/ }
/*038*/ });
/*039*/ }
/*040*/ public boolean action(Event e,Object obj){
/*041*/ flag = ! flag;
/*042*/ if(flag){
/*043*/ card0.first(pan);
/*044*/ System.out.println("fist");
/*045*/ }
/*046*/ else{
/*047*/ card0.next(pan);
/*048*/ System.out.println("second");
/*049*/ }
/*050*/ return true;
/*051*/ }
/*052*/ public static void main(String args[]){
/*053*/ new cardLayoutDemo3();
/*054*/ }
/*055*/ }
对于以上程序中第40~51行为切换按钮的事件处理,请问切换按钮是如何触发此处理事件的??看不出来是如何连接上切换按钮的。。求解。
如果要进行多张切换应该如何更改程序???谢谢。
展开
 我来答
2010xianghui
2011-01-19 · TA获得超过108个赞
知道小有建树答主
回答量:344
采纳率:0%
帮助的人:123万
展开全部
action
@Deprecated
public boolean action(Event evt,Object what)已过时。 从 JDK version 1.1 开始,应该将此组件作为组件(激发操作事件)上的 ActionListener 来注册。
没用过这个方法 应该是所有按钮事件都会触发action方法的 在加个按钮也会切换的
桉子兔浚Cr
2011-01-19
知道答主
回答量:11
采纳率:0%
帮助的人:9.3万
展开全部
040*/ public boolean action(Event e,Object obj){
/*041*/ flag = ! flag;
/*042*/ if(flag){
/*043*/ card0.first(pan);
/*044*/ System.out.println("fist");
/*045*/ }
/*046*/ else{
/*047*/ card0.next(pan);
/*048*/ System.out.println("second");
/*049*/ }
/*050*/ return true;
/*051*/ }
看不懂这是什么。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xyp260466
2011-01-19
知道答主
回答量:31
采纳率:0%
帮助的人:16.3万
展开全部
@Deprecated
public boolean action(Event evt,
Object what)已过时。 从 JDK version 1.1 开始,应该将此组件作为组件(激发动作事件)上的 ActionListener 来注册。

API的原文是这么写的,都已经过时的方法

将if,else 改为while(true){}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
anzxo522
2011-01-21 · 超过10用户采纳过TA的回答
知道答主
回答量:51
采纳率:0%
帮助的人:34.8万
展开全部
这是以前过时了的方法,JDK帮助文档可以查到,套接动作由JDK帮你完成,你只是实现了他的一个模板方法而已,具体你可以查看源代码~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式