方法addKeyListener

来源:互联网 发布:在家做淘宝客服靠谱吗 编辑:程序博客网 时间:2024/06/04 19:01

addKeyListener   原文链接:http://www.cnblogs.com/KeenLeung/archive/2012/05/27/2520657.html

public void addKeyListener(KeyListener l)

添加指定的按键侦听器,以接收发自此组件的按键事件。如果 l 为 null,则不会抛出异常并且不执行动作。 

java.awt.event 
接口 KeyListener

用于接收键盘事件(击键)的侦听器接口。旨在处理键盘事件的类要么实现此接口(及其包含的所有方法),要么扩展抽象 KeyAdapter 类(仅重写有用的方法)

然后使用组件的 addKeyListener 方法将从该类所创建的侦听器对象向该组件注册。按下、释放或键入键时生成键盘事件。然后调用侦听器对象中的相关方法并将该 KeyEvent 传递给它。 

方法摘要voidkeyPressed(KeyEvent e) 
按下某个键时调用此方法。voidkeyReleased(KeyEvent e) 
释放某个键时调用此方法。voidkeyTyped(KeyEvent e) 
键入某个键时调用此方法。

——摘自:JDK6API

 

例子:

复制代码
 1 import javax.swing.*; 2 import java.awt.*; 3 import java.awt.event.*; 4 public class KeyDemo 5 { 6     //定义该图形中所需的组件的引用 7     private Frame f; 8     private Button bt;  9     private TextField tf;10     11     //方法12     KeyDemo()//构造方法13     {14         madeFrame();15     }16     17     public void madeFrame()18     {19         f = new Frame("My Frame");20         21         //对Frame进行基本设置。22         f.setBounds(300,100,600,500);//对框架的位置和大小进行设置23         f.setLayout(new FlowLayout(FlowLayout.CENTER,5,5));//设计布局24         25         bt = new Button("My Button");26         tf = new TextField(20);27         28         //将组件添加到Frame中29         f.add(tf);30         f.add(bt);31         32         //加载一下窗体上的事件33         myEvent();34         35         //显示窗体36         f.setVisible(true);37     }38     39     private void myEvent()40     {41         f.addWindowListener(new WindowAdapter()//窗口监听42         {43             public void windowClosing(WindowEvent e)44             {45                 System.out.println("窗体执行关闭!");46                 System.exit(0);47             }48         });49         bt.addKeyListener(new KeyAdapter()//键盘监听按钮50         {51             public void keyPressed(KeyEvent e)52             {53                 if(e.getKeyCode()==KeyEvent.VK_ESCAPE)54                    System.exit(0);55                 //组合键56                 else if(e.isControlDown()&&e.getKeyCode()==KeyEvent.VK_ENTER)57                    System.exit(0);58                 else System.out.println(e.getKeyChar()+"..."+KeyEvent.getKeyText(e.getKeyCode()));59             }60             61         });62         tf.addKeyListener(new KeyAdapter()63         {64             public void keyPressed(KeyEvent e)65             {66                 int code = e.getKeyCode();67                 if(!(code>=KeyEvent.VK_0&&code<=KeyEvent.VK_9))68                 {69                     System.out.println(code+"..."+"是非法的");70                     e.consume();71                 }72             }73         });74     }75     76     public static void main(String[] agrs)77     {78         new KeyDemo();79     }80 }
复制代码
0 0
原创粉丝点击