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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 工善器 于 2013-10-20 21:01 编辑

/*
鼠标和键盘事件的例子
*/
package en.itcast.java.tools;
import java.awt.*;
import java.awt.event.*;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class MouseAndKeyEvent {
    private Button b;
    private Frame f;
    private TextField t;
    MouseAndKeyEvent()
    {
        init();
    }//这是抽象方法么,构造方法
    public void init()
    {
        //先设置好快框架
         f=new Frame();
        f.setBounds(400,300,200,300);
        f.setLayout(new FlowLayout());
        f.setVisible(true);
        
        t=new TextField();
        b=new Button("按钮");
        
        f.add(t);
        f.add(b);
        
        myEvent();
        
        
        
        
    }//方法的重写?
    private void  myEvent()
    {
        f.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e)
            {
                System.exit(0);
            }
        });
        t.addKeyListener(new KeyAdapter() {
            public void keyPressed(KeyEvent e)
            {
                int code=e.getKeyCode();
                if(!(code>=KeyEvent.VK_0&&code<=KeyEvent.VK_9))
                {
                    System.out.println("code是非法的的");
                    e.consume();
                    
                }
               
            }
        });
        b.addKeyListener(new KeyAdapter() {
            public void keyPressed(KeyEvent e)
            {
                if(e.isControlDown()&&e.getKeyCode()==KeyEvent.VK_ENTER)
                {
                    System.out.println("ctrl enter is run!");
                }
               
            }
        });
        
    }
   
   
   
   

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

}


6 个回复

倒序浏览
捕获不了ctrl+enter快捷键,第三行黄色加亮,目前正在研究中
回复 使用道具 举报
晓得了,如果按下button,不松开,就能执行ctrl+enter.
问题解决的好快
回复 使用道具 举报
大意大意,不懂的同学再看下代码就明白了。那个添加的是一个按钮监听事件,前边是b.addKeyListener.不是t.也不是窗体。所以按钮按下,才可监听。
回复 使用道具 举报

如果楼主已经解惑,请将帖子改为提问结束
回复 使用道具 举报
周志龙 发表于 2013-10-19 18:31
如果楼主已经解惑,请将帖子改为提问结束

ok,我看下在那改
回复 使用道具 举报
To 金牌黑马 2013-10-20 19:08:42
7#
楼主你好,如果问题已解决请将帖子状态修改为提问结束,如果未解决请继续提问,谢谢合作
如果不会修改请看解释帖:http://bbs.itheima.com/thread-89313-1-1.html
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马