黑马程序员技术交流社区

标题: 经过调试能编译通过部分运行,但不能捕捉快捷键,定位... [打印本页]

作者: 工善器    时间: 2013-10-19 15:46
标题: 经过调试能编译通过部分运行,但不能捕捉快捷键,定位...
本帖最后由 工善器 于 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();
    }

}



作者: 工善器    时间: 2013-10-19 15:47
捕获不了ctrl+enter快捷键,第三行黄色加亮,目前正在研究中
作者: 工善器    时间: 2013-10-19 15:53
晓得了,如果按下button,不松开,就能执行ctrl+enter.
问题解决的好快
作者: 工善器    时间: 2013-10-19 15:55
大意大意,不懂的同学再看下代码就明白了。那个添加的是一个按钮监听事件,前边是b.addKeyListener.不是t.也不是窗体。所以按钮按下,才可监听。
作者: 周志龙    时间: 2013-10-19 18:31

如果楼主已经解惑,请将帖子改为提问结束
作者: 工善器    时间: 2013-10-19 19:22
周志龙 发表于 2013-10-19 18:31
如果楼主已经解惑,请将帖子改为提问结束

ok,我看下在那改
作者: To    时间: 2013-10-20 19:08
楼主你好,如果问题已解决请将帖子状态修改为提问结束,如果未解决请继续提问,谢谢合作
如果不会修改请看解释帖:http://bbs.itheima.com/thread-89313-1-1.html




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2