下面是一个Applet程序,其功能是捕捉用户所按下的键,并将捕捉到的键时间,传给程序,程序再将所按下的字符显示在Applet中。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 程序运行结

admin2009-01-15  77

问题 下面是一个Applet程序,其功能是捕捉用户所按下的键,并将捕捉到的键时间,传给程序,程序再将所按下的字符显示在Applet中。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。
   注意:不改动程序的结构,不得增行或删行。
   程序运行结果如下:
         
      import java.awt.*;
      import java.applet.*;
      /*
      <applet code="ex15_3.class,, width=800 height=400 >
      </applet>
      */
      public class ex15_3 extends JApplet{
         private String str1;
         private String str2;
         private String str3;
         public void init(){
           str1 = "Character:";
           str2 =  "Number: ";
           str3 = "Key State:";
         }
         public void paint(Graphics g){
           g.drawString(str1, 20, 30);
           g.drawString(str2, 20,  50);
           g.drawString(str3, 20, 70);
         }
         public boolean keyUp(Event e,  int n){
           str1 = "Character:" + String.valueOf(n);
           str2 = "Number:" + n;
           str3 = "Key State:Key Up";
           repaint();
           return true;
         }
         public boolean keyDown(Event e,  int n){
           str1 = "Character:" + String.valueOf(n);
           str2 = "Number:" + n;
           str3 = "Key State:Key Down";
           repaint();
           return true;
         }
     }
     ex15_3.html
     <HTML>
     <HEAD>
       <TITLE>ex15_3</TITLE>
     </HEAD>
     <BODY>
     <applet code="ex15 3.class" width=800 height=400 >
     </applet>
     </BODY>
   </HTML>

选项

答案Applet str1="Character:"+ (char)n str1="Character:"+ (char)n

解析 本题主要考查Applet窗口中的键盘事件捕捉,以及基本的Applet显示。解题关键是熟悉Applet窗口的基本操作和键盘事件的一般应用。本题中,第一处,错在误用了JApplet这里应该是继承Applet类,而不是JApplet:第二和第三处错误相同,虽然用String类的valueOf()方法在编译的时候不会出错,但是这样显示出来的结果是int类型的n,而题中要求输出的是这个键对应的字符,因此用将int类型转化为char类型。
转载请注明原文地址:https://kaotiyun.com/show/vIID777K
0

最新回复(0)