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);
}
}
Ho provato a leggere this ma non ha mange per capire come implementare semplicemente un KeyListener. quindi cosa devo cambiare perché funzioni?come implementare semplicemente un KeyListener?
Quale comportamento ti aspetti da un programma funzionante? Se vuoi cambiare la stringa su schermo ogni volta che l'utente preme un tasto, una semplice chiamata a 'ridi()' dopo ogni modifica a 'c' dovrebbe fare il trucco. –
sì ho dimenticato di aggiungerlo, ma non funziona comunque ... –