
关于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行为切换按钮的事件处理,请问切换按钮是如何触发此处理事件的??看不出来是如何连接上切换按钮的。。求解。
如果要进行多张切换应该如何更改程序???谢谢。 展开
/*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行为切换按钮的事件处理,请问切换按钮是如何触发此处理事件的??看不出来是如何连接上切换按钮的。。求解。
如果要进行多张切换应该如何更改程序???谢谢。 展开
4个回答
展开全部
action
@Deprecated
public boolean action(Event evt,Object what)已过时。 从 JDK version 1.1 开始,应该将此组件作为组件(激发操作事件)上的 ActionListener 来注册。
没用过这个方法 应该是所有按钮事件都会触发action方法的 在加个按钮也会切换的
@Deprecated
public boolean action(Event evt,Object what)已过时。 从 JDK version 1.1 开始,应该将此组件作为组件(激发操作事件)上的 ActionListener 来注册。
没用过这个方法 应该是所有按钮事件都会触发action方法的 在加个按钮也会切换的
展开全部
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*/ }
看不懂这是什么。
/*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*/ }
看不懂这是什么。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
@Deprecated
public boolean action(Event evt,
Object what)已过时。 从 JDK version 1.1 开始,应该将此组件作为组件(激发动作事件)上的 ActionListener 来注册。
API的原文是这么写的,都已经过时的方法
将if,else 改为while(true){}
public boolean action(Event evt,
Object what)已过时。 从 JDK version 1.1 开始,应该将此组件作为组件(激发动作事件)上的 ActionListener 来注册。
API的原文是这么写的,都已经过时的方法
将if,else 改为while(true){}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这是以前过时了的方法,JDK帮助文档可以查到,套接动作由JDK帮你完成,你只是实现了他的一个模板方法而已,具体你可以查看源代码~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |