A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑马朱超 中级黑马   /  2013-4-14 13:12  /  960 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 黑马朱超 于 2013-4-14 13:52 编辑
  1. import java.awt.*;
  2. import java.awt.event.*;
  3. class keyDemo
  4. {
  5.         //定义该图形中的所需要的组件的引用
  6.         private Frame f ;
  7.         private Button but;
  8.         private TextField tf ;
  9.         //构造函数
  10.         keyDemo()
  11.         {
  12.                 init();
  13.         }
  14.         //初始化窗口
  15.         public void init()
  16.         {
  17.                 f = new Frame("my Frame");
  18.                 //对窗口进行基本设置
  19.                 f.setBounds(300,100,400,500);
  20.                 f.setLayout(new FlowLayout());
  21.                 //建立文本框
  22.                 tf = new TextField(20);
  23.                 but = new Button("my button");
  24.                 //添加组件
  25.                 f.add(tf);
  26.                 f.add(but);
  27.                 //窗口可视
  28.                 f.setVisible(true);
  29.                 //添加窗体上事件
  30.                 myEvent();

  31.         }
  32.         //写事件方法
  33.         private void myEvent()
  34.         {
  35.                 f.addWindowListener(new WindowAdapter()
  36.                 {                public void windowClosing(WindowEvent e)
  37.                         {        
  38.                                 System.out.println("exit");
  39.                                 System.exit(5);
  40.                         }
  41.                 });
  42.                 //文本框监视器
  43.                 tf.addKeyListener(new KeyAdapter()
  44.                 {
  45.                         public void KeyPressed(KeyEvent e)
  46.                         {
  47.                                 System.out.println("wt");
  48.                                 int ch = e.getKeyCode();
  49.                                 if(!(ch>=KeyEvent.VK_0 && ch<= KeyEvent.VK_9))
  50.                                 {System.out.println(e.getKeyChar()+" 输入非法");
  51.                                         e.consume();//屏蔽键,如果敲入的不是数字就输入不进去
  52.                                 }
  53.                         }
  54.                 });
  55.                 but.addActionListener(new ActionListener()
  56.                 {
  57.                         private int count = 1;
  58.                         public void actionPerformed(ActionEvent e)
  59.                         {
  60.                                 System.out.println("按钮点击次数"+count++);
  61.                                 //System.exit(0);
  62.                         }
  63.                 });
  64.                 but.addMouseListener(new MouseAdapter()
  65.                 {
  66.                         private int count =1;
  67.                         private int clickCount = 1;
  68.                         private int doubleClickCount =1;
  69.                         public void mouseEntered(MouseEvent e)
  70.                         {
  71.                                 System.out.println("鼠标进入"+count++);
  72.                         }
  73.                         public void mouseClicked(MouseEvent e)
  74.                         {
  75.                                 if(e.getClickCount() == 2)
  76.                                 System.out.println("鼠标双击"+doubleClickCount++);
  77.                                 //else
  78.                                 //System.out.println("鼠标单击"+clickCount++);
  79.                         }
  80.                 });
  81.                 but.addKeyListener(new KeyAdapter()
  82.                 {
  83.                         private int count = 1;
  84.                         public void keyPressed(KeyEvent e)
  85.                         {
  86.                                 if(e.getKeyCode() == KeyEvent.VK_ESCAPE)//静态常量和静态函数直接调用
  87.                                 System.exit(0);
  88.                                 else if(e.isControlDown() && e.getKeyCode() == KeyEvent.VK_ENTER)//组合键使用
  89.                                 System.out.println("sent message");
  90.                                 System.out.println(KeyEvent.getKeyText(e.getKeyCode())+"键点击"+e.getKeyChar()+e.getKeyCode());
  91.                                 //System.exit(0);
  92.                         }
  93.                 });


  94.         }
  95.         public static void main(String[] args)
  96.         {
  97.                 new keyDemo();
  98.         }

  99. }
复制代码
对于文本框键盘输入进行了监听,输入非数字进行屏蔽并报错。
但是编译运行时候监听的代码没有执行......
sigh

哪里出了问题呢?

1 个回复

倒序浏览
调用函数keyPressed首字母写成了大写,汗
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马