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);
}
}
Intenté leer this pero no pude entender cómo simplemente implementar KeyListener. Entonces, ¿qué necesito cambiar para que esto funcione?cómo simplemente implementar KeyListener?
¿Qué comportamiento esperaría de un programa en funcionamiento? Si desea cambiar la cadena en la pantalla cada vez que el usuario presiona una tecla, una simple llamada a 'repaint()' después de cada modificación a 'c' debería hacer el truco. –
Sí, me olvidé de agregarlo, pero no funciona de todos modos ... –