【发布时间】:2012-03-09 04:26:15
【问题描述】:
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。那么我需要改变什么才能让它工作?
【问题讨论】:
-
您希望工作程序有什么行为?如果您想在用户每次按键时更改屏幕上的字符串,在每次修改
c后简单地调用repaint()就可以了。 -
是的,我忘了添加它,但无论如何它都不起作用......
标签: java swing keylistener