public class MyPanel extends JPanel implements KeyListener {
private char c = 'e';
public MyPanel() {
this.setPreferredSize(new Dimension(500,500));
addKeyListener(this);
}
public void paintComponent(Graphics g) {
super.repaint();
g.drawString("the key that pressed is" + c, 250,250);
}
public void keyPressed(KeyEvent e) {
c=e.getKeyChar();
repaint();
}
public void keyReleased(KeyEvent e) {
}
public void keyTyped(KeyEvent e) {
c=e.getKeyChar();
repaint();
}
public static void main(String[] s) {
JFrame f=new JFrame();
f.getContentPane().add(new MyPanel());
f.pack();
f.setVisible(true);
}
}
我試過閱讀this但沒有理解如何簡單地實現一個KeyListener。所以我需要改變這個工作?如何簡單地實現一個KeyListener?
你會從一個工作程序期望什麼行爲?如果你想在每次用戶按下一個鍵時改變屏幕上的字符串,每次修改'c'之後,簡單地調用'repaint()'應該會有效。 – 2012-02-17 19:07:25
是的,我忘了添加它,但它無法正常工作... – 2012-02-17 19:30:46