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);
}
}
Tôi đã cố gắng đọc this nhưng không mange để hiểu làm thế nào để chỉ đơn giản là thực hiện một KeyListener. vì vậy tôi cần phải thay đổi điều này để làm việc?cách đơn giản triển khai KeyListener?
Bạn mong đợi hành vi nào từ chương trình làm việc? Nếu bạn muốn thay đổi chuỗi trên màn hình mỗi lần người dùng nhấn một phím, một cuộc gọi đơn giản tới 'repaint()' sau mỗi lần sửa đổi thành 'c' sẽ thực hiện thủ thuật. –
vâng tôi quên thêm nó, nhưng nó không hoạt động anyway ... –