java语言GUI编程之Key键盘事件总结与GUI章节概略

/*
 时间:2015年3月22日17:08:30
 测试键盘事件:KeyEvent,理解这个类是关键
 相关的接口或者类有:
  KeyListener, KeyAdapter, KeyEvent, 
  
  KeyListener
   用于接收键盘事件(击键)的侦听器接口。旨在处理键盘事件的类要么实现此接口(及其包含的所有方法),要么扩展抽象 KeyAdapter 类(仅重写有用的方法)。 

  然后使用组件的 addKeyListener 方法将从该类所创建的侦听器对象向该组件注册。按下、释放或键入键时生成键盘事件。然后调用侦听器对象中的相关方法并将该 KeyEvent 传递给它。 
  
  public static final int VK_0
   VK_0 到 VK_9 与 ASCII 的‘0’到‘9’(0x30 - 0x39) 相同 
  public static final int VK_DOWN
   用于非数字键盘向下方向键的常量。 
  public static final int VK_A
   VK_A 到 VK_Z 与 ASCII 的‘A’到‘Z’(0x41 - 0x5A) 相同

  public static final int VK_NUMPAD0
   数字键盘上的0

   GUI总结概略在附件图片上,请注意查看即可。

*/
import java.awt.*;
import java.awt.event.*;

public class TestKey {
 public static void main(String[] args) {
  new KeyFrame().launchFrame();
 }
}

class KeyFrame extends Frame {
 public void launchFrame() {
  setSize(200, 200);
  setLocation(300, 300);
  addKeyListener(new MyKeyMonitor());
  addWindowListener(new WindowAdapter() {
    public void windowClosing(WindowEvent e) {
     System.out.println("窗口正在关闭");
     System.exit(-1); 
    }
   });
  setVisible(true);
 }
 class MyKeyMonitor extends KeyAdapter {
  //重写父类方法不要敲,而是要去复制粘贴,切切1
  public void keyPressed(KeyEvent e) {
   int keyCode = e.getKeyCode();
   
   switch (keyCode) {
    case KeyEvent.VK_UP:
     System.out.println("UP");
     break;
    case KeyEvent.VK_LEFT:
     System.out.println("LEFT");
     break;
    case KeyEvent.VK_RIGHT:
     System.out.println("RIGHT");
     break;
    case KeyEvent.VK_DOWN:
     System.out.println("DOWN");
     break;
    case KeyEvent.VK_Z:
     System.out.println("Z");
     break;
    case KeyEvent.VK_0:
     System.out.println("0");//VK_0 到 VK_9 与 ASCII 的‘0’到‘9’(0x30 - 0x39) 相同
     break;
    case KeyEvent.VK_NUMPAD1:
     System.out.println("数字键盘上的1");
    default:
     break;
   }
  }
 }
}
 

                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值