Keyイベントのおまけ(Keyコードを表示させよう)

キーボードを押してください



import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;

public class keyboard extends Applet{
  Image img;
  int x,y;
  int a;
  public void init(){
    img=getImage(getDocumentBase(),"ren17.gif");

    requestFocus();
    addKeyListener(
        new KeyAdapter(){
          public void keyPressed(KeyEvent e){
          a=e.getKeyCode();


            repaint();
          }
        }
    );
  }

  public void paint(Graphics g){
    g.drawString(Integer.toString(a),10,10);   ←@
  }
}

@drawString(Integer.toString(a),10,10)

 drawStringは文字列を表示するメソッドなので、int型変数aの値を表示させるには、int型を文字列に変換しなければならない。Integer.toString(a)というメソッドを用いて、文字列に変換している。



今までのアプレットは、Keyコードを用いて次のように書きなおすことができる。
キー定数を用いた場合キー定数を用いない場合(キーコードを使用)
          switch(a){               
            case e.VK_UP  :{if(y>0)y=y-5;
                            break;}
            case e.VK_DOWN:{if(y<200)y=y+5;
                            break;}
            case e.VK_LEFT:{if(x>0)x=x-5;
                            break;}
            case e.VK_RIGHT:{if(x<200)x=x+5;
                            break;}
            }
          switch(a){               
            case 38:{if(y>0)y=y-5;
                            break;}
            case 40:{if(y<200)y=y+5;
                            break;}
            case 37:{if(x>0)x=x-5;
                            break;}
            case 39:{if(x<200)x=x+5;
                            break;}
            }