- 
package chapter16;  
- 
  
- 
import java.awt.Font;  
- 
import java.awt.Graphics;  
- 
import java.awt.event.KeyAdapter;  
- 
import java.awt.event.KeyEvent;  
- 
  
- 
import javax.swing.JFrame;  
- 
import javax.swing.JPanel;  
- 
  
- 
  
- 
  
- 
@SuppressWarnings("serial")  
- 
public class KeyEventDemo extends JFrame{  
- 
      
- 
    aa one  = new aa();  
- 
    public KeyEventDemo (){  
- 
        add(one);  
- 
        one.setFocusable(true);  
- 
    }  
- 
  
- 
    public static void main(String[] args) {  
- 
        KeyEventDemo frame = new KeyEventDemo();  
- 
        frame.setTitle("KeyEventDemo");  
- 
        frame.setLocationRelativeTo(null);   
- 
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
- 
        frame.setSize(300, 300);  
- 
        frame.setVisible(true);  
- 
    }  
- 
    static class aa extends JPanel{  
- 
        private int x = 50;  
- 
        private int y = 50;  
- 
        private char keychar = ‘A‘;  
- 
          
- 
        public aa(){  
- 
            addKeyListener(new KeyAdapter() {  
- 
                 public void keyPressed(KeyEvent e) {  
- 
                      switch (e.getKeyCode()) {  
- 
                        case KeyEvent.VK_DOWN: y += 10; break;  
- 
                        case KeyEvent.VK_UP: y -= 10; break;  
- 
                        case KeyEvent.VK_LEFT: x -= 10; break;  
- 
                        case KeyEvent.VK_RIGHT: x += 10; break;  
- 
                        default: keychar = e.getKeyChar();  
- 
                      }  
- 
                      repaint();  
- 
                 }  
- 
            });  
- 
        }  
- 
        protected void paintComponent(Graphics g){  
- 
            super.paintComponent(g);  
- 
              
- 
            g.setFont(new Font("TimesRoman",Font.PLAIN,24));  
- 
            g.drawString(String.valueOf(keychar), x, y);  
- 
              
- 
        }  
- 
    }  
- 
}  
 
点击键盘上的字母,输出在屏幕上,如果不是字母,不显示
另外 按方向键,可以控制字母的左右上下方向移动


【JAVA语言程序设计基础篇】--事件驱动程序设计--键盘事件
原文:http://blog.csdn.net/qq_24653023/article/details/52235202