0

アプレットプログラミングは初めてです。iamがやろうとしているのは、キーボードでキーが押されるたびに、それをアプレットに表示する必要があるということです。これが私のコードです。

public class sample extends Applet implements KeyListener {
private Graphics graphic;
@Override
public void init(){
    addKeyListener(this);
}
@Override
public void paint(Graphics g){
    graphic=g;
    g.drawString("hello",20,30);
}

public void keyTyped(KeyEvent e) {
    char key=e.getKeyChar();
    dis(key,graphic);
}

public void keyPressed(KeyEvent e) {

}

public void keyReleased(KeyEvent e) {

}

private void dis(char key, Graphics graphic) {
    graphic.drawString(" "+key,50,60);
  }
} 

ただし、キーを押しても何も表示されません。私のコードの何が問題になっていますか..??? それを見つけるのを手伝ってください!

4

1 に答える 1

3

Graphicsオブジェクトを保存しないでください。repaint()ハンドラー内からメソッドを呼び出してみてください。

public class sample extends Applet implements KeyListener {
String msg="";
@Override
public void init(){
    addKeyListener(this);
}
@Override
public void paint(Graphics g){
    g.drawString(msg,20,30);
}

public void keyTyped(KeyEvent e) {
    char key=e.getKeyChar();
    msg="KeyTyped : " + key;
    repaint();
 }
 ....
}
于 2012-06-13T05:22:53.967 に答える