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);
}
}
Próbowałem przeczytać this jeszcze nie zrobiłam, aby zrozumieć, jak po prostu wdrożyć KeyListener. więc co muszę zmienić, aby to zadziałało?jak po prostu zaimplementować KeyListener?
Jakie zachowanie można się spodziewać po programie roboczym? Jeśli chcesz zmienić napis na ekranie za każdym naciśnięciem klawisza, proste wywołanie 'repaint()' po każdej modyfikacji do 'c' powinno wystarczyć. –
tak, zapomniałem go dodać, ale i tak to nie działa ... –