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

admin2009-01-15  91

问题 下面是一个Applet程序,其功能是有2个按钮,分别为First和Second,以及一个Labe1构件。要求点击First时则能在 Labe1中显示出Command:First,而点击Second时则能显示出Command:Second,要求只能使用重载一次actionPerformed()方法。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。
   注意:不改动程序的结构,不得增行或删行。
   程序运行结果如下:

   import java.awt.*;
   import java.awt.event.*;
   import java.applet.*;
   /*
   <applet code=ex2_3.class width=800 height=400>
   </applet>
   */
  public class ex2_3 extends Applet implements ActionListener {
    private String str="ok";
    private Labe1 1;
    private Button btn;
    public void init()  {
        setLayout(null);
        1=new Label(str);
        1.reshape(10,  10,  150, 30);
        add(1);
        btn = new Button("First");
        btn.reshape(10,  50,  60, 20);
        1.addActionListener(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);
  }
  }
  ex2_3.htm1
   <HTML>
   <HEAD>
      <TITLE>ex2_3</TITLE>
   </HEAD>
   <BODY>
   <applet code="ex2_3.class" width=800 height=400 >
   </applet>
   </BODY>
   </HTML>

选项

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

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

最新回复(0)