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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 赵方明 中级黑马   /  2012-7-27 15:21  /  1546 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

import java.awt.*;
import java.awt.event.*;
class MouseAndKeyEvent
{
     private Frame f;
       private Button but;
    MouseAndKeyEvent()
    {
      init();
    }
    public void init()
    {
      

      
            f=new Frame("wode chuangkou");
            but=new Button("anyixia");
            f.setBounds(300,200,600,500);

            f.setLayout(new FlowLayout());

            f.add(but);
            myEvent();

            f.setVisible(true);

            
     }
     public void myEvent()
        {
            f.addWindowListener(new WindowAdapter()
            {
              public void windowClosing(WindowEvent e)
            {
               System.exit(0);
              
              }
            
            });
            but.addKeyListener(new KeyAdapter()
      {
         public void KeyPressed(KeyEvent e)
        {
         
          System.out.println(e.getKeyChar()+"..."+e.getKeyCode());
         }
     
     
     });
            /*
     
     but.addMouseListener(new MouseAdapter()
            {

         public void mouseEntered(MouseEvent e)
        {
          System.out.println("andaoshangmle");
         
         }
         
     public void mouseClicked(MouseEvent e)
        {
          if (e.getClickCount()==2)
          {
              add();
          }
     
     }
     });
     */
   
   
    }
public void add()
{
    int a=5,b=5;
    int sum=a+b;
   System.out.println("a加b的结果为"+sum);
}


public static void main(String[] args)
    {
        new MouseAndKeyEvent();
    }
}
这个键盘事件,该有的都有了啊,为什么按键之后,dos里没反应呢?

3 个回复

倒序浏览

import java.awt.*;
import java.awt.event.*;
class MouseAndKeyEvent
{
     private Frame f;
       private Button but;
    MouseAndKeyEvent()
    {
      init();
    }
    public void init()
    {
      

      
            f=new Frame("wode chuangkou");
            but=new Button("anyixia");
            f.setBounds(300,200,600,500);

            f.setLayout(new FlowLayout());

            f.add(but);
            myEvent();

            f.setVisible(true);

            
     }
     public void myEvent()
        {
            f.addWindowListener(new WindowAdapter()
            {
              public void windowClosing(WindowEvent e)
            {
               System.exit(0);
              
              }
            
            });
            but.addKeyListener(new KeyAdapter()
      {
         public void keyPressed(KeyEvent e)//这里注意小写 其它没看.这里改了问题解决了 给好评哦亲
        {
         
          System.out.println(e.getKeyChar()+"..."+e.getKeyCode());
         }
     
     
     });
            /*
     
     but.addMouseListener(new MouseAdapter()
            {

         public void mouseEntered(MouseEvent e)
        {
          System.out.println("andaoshangmle");
         
         }
         
     public void mouseClicked(MouseEvent e)
        {
          if (e.getClickCount()==2)
          {
              add();
          }
     
     }
     });
     */
   
   
    }
public void add()
{
    int a=5,b=5;
    int sum=a+b;
   System.out.println("a加b的结果为"+sum);
}


public static void main(String[] args)
    {
        new MouseAndKeyEvent();
    }
}

评分

参与人数 2技术分 +1 黑马币 +3 收起 理由
蒋映辉 + 1
赵方明 + 3 很给力!

查看全部评分

回复 使用道具 举报
  1. import java.awt.*;
  2. import java.awt.event.*;

  3. class MouseAndKeyEvent {
  4.         private Frame f;
  5.         private Button but;

  6.         MouseAndKeyEvent() {
  7.                 init();
  8.         }

  9.         public void init() {

  10.                 f = new Frame("wode chuangkou");
  11.                 but = new Button("anyixia");
  12.                 f.setBounds(300, 200, 600, 500);

  13.                 f.setLayout(new FlowLayout());

  14.                 f.add(but);
  15.                 myEvent();

  16.                 f.setVisible(true);

  17.         }

  18.         public void myEvent() {
  19.                 f.addWindowListener(new WindowAdapter() {
  20.                         public void windowClosing(WindowEvent e) {
  21.                                 System.exit(0);

  22.                         }

  23.                 });
  24.                 but.addKeyListener(new KeyAdapter() {
  25. //                        public void keyPressed(KeyEvent e) {
  26. //                                System.out.println(e.getKeyChar() + "..." + e.getKeyCode());
  27. //                        }
  28.                        
  29.                         public void keyReleased(KeyEvent e) {
  30.                                 System.out.println(e.getKeyChar() + "..." + e.getKeyCode());
  31.                         }

  32. //                        public void keyTyped(KeyEvent e) {
  33. //                                System.out.println(e.getKeyChar() + "..." + e.getKeyCode());
  34. //                        }

  35.                 });
  36.                 /*
  37.                  *
  38.                  * but.addMouseListener(new MouseAdapter() {
  39.                  *
  40.                  * public void mouseEntered(MouseEvent e) {
  41.                  * System.out.println("andaoshangmle");
  42.                  *
  43.                  * }
  44.                  *
  45.                  * public void mouseClicked(MouseEvent e) { if (e.getClickCount()==2) {
  46.                  * add(); }
  47.                  *
  48.                  * } });
  49.                  */

  50.         }

  51.         public void add() {
  52.                 int a = 5, b = 5;
  53.                 int sum = a + b;
  54.                 System.out.println("a加b的结果为" + sum);
  55.         }

  56.         public static void main(String[] args) {
  57.                 new MouseAndKeyEvent();
  58.         }
  59. }
复制代码
//自己这点也不是非常清楚,所以也去测试了,KeyAdapter类下面有三个方法,分别代表的三个不同的事件。
我们一般的按键盘事件,三个方法都会收到事件,但是能用来处理getKeyChar方法和getKeyCode的只有KeyAdapter类下面keyReleased方法。
其他的两种方法应该可以去处理keyEvent的其他方法。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马