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;} } |
![]() |