下面是一个Applet程序,其功能是有两个按钮,分别为First和Second,以及一个Label构件。要求单击 First时能在Label中显示出"Command:First",而单击Second时能显示出"Command:Second",要求只能重载一

admin2009-01-15  60

问题 下面是一个Applet程序,其功能是有两个按钮,分别为First和Second,以及一个Label构件。要求单击 First时能在Label中显示出"Command:First",而单击Second时能显示出"Command:Second",要求只能重载一次 actionPerformed()方法,请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。
   注意:不改动程序的结构,不得增行或删行。
   源程序文件代码清单如下:
   import java.awt.*;
   import java.awt.event.*;
   import java.applet.*;
   /*
    <applet code=ex04_3.class width=800 height=400>
    </applet>
   */
   Public class ex04_3 extends Applet implements ActionListener
   {
       private String str="ok";
       private Label l;
       private Button btn;
       public void init()
       {
           setLayout(null);
           l=new Label(str);
           l.reshape(10,10,100,30);
           add(l);
           btn=new Button("First");
           btn.reshape(10,50,60,20);
           l.addActionListene(this);
           add(btn);
           btn=new Button("Second");
           btn.reshape(10,100,60,20);
           btn.setActionCommand("First");
           btn.addActionListener(this);
           add(btn);
       }
       public void actionPerformed(ActionEvent ae)
       {
           str="Command:"+ae.getActionCommand();
           btn.setText(str);
       }
   }
   ex04_3.html
   <HTML>
    <HEAD>
      <TITLE>ex04_3</TITLE>
    </HEAD>
    <BODY>
   <applet code="ex2_3.class" width=800  height=400>
   </applet>
    </BODY>
       </HTML>

选项

答案btn.addActionListener(this) btn.setActionCommand("second") l.setText(str)

解析 本题主要考查Java语言中高级事件 AcfionEvent和AWT基本构件Label的常用方法的使用。解题关键是熟练掌握动作事件 ActionEvent和Label构件的常用方法。在本题中,第1处,明确注册的事件监听器是监听按钮的,而不是Label;第2处,调用ActionEvent的setActionCommand()方法改变了ActionCommand,使按下Second按钮时显示 "Command:second",而不是"Command:First";第3处,调用Label的setText()方法,而不是 Button的方法。程序运行结果如下图所示。
转载请注明原文地址:https://kaotiyun.com/show/iGnp777K
0

最新回复(0)