2012-06-13 3 views
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); 
    } 
} 

그러나 키를 누를 때 아무 것도 표시되지 않습니다. 내 코드에 무슨 문제가 .. .. ??? 제발 도와주세요!

+0

키를 채우고 싶습니까? – Vulcan

+0

예. 애플릿에 키를 유지하지 않고 키보드에서 한 번에 한 키를 눌렀을 때 표시하고 싶습니다. –

답변

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(); 
} 
.... 
} 
+0

그랬지만 사용하지 않았습니다 .. –

+0

@RAVITEJA - 애플릿을 실행하고 애플릿 영역을 마우스로 클릭합니다 (+ 키를 누릅니다. – adatapost

+0

@RAVITEJA - 최신 코드로 게시물을 업데이트하십시오. – adatapost