zoukankan      html  css  js  c++  java
  • 按键监听类KeyListener及适配器改良方案

     导包导的恶心,真是马上要对notepad累觉不爱了,好在顺利导完。。


    监听按键信息
    //source code
    
    import java.awt.Color ;
    import java.awt.Font ;
    import java.awt.GridLayout ;
    import java.awt.event.ActionEvent ;
    import java.awt.event.ActionListener ;
    import java.awt.event.WindowListener ;
    import java.awt.event.WindowAdapter ;
    import java.awt.event.WindowEvent ;
    import java.awt.event.KeyEvent ;
    import java.awt.event.KeyListener ;
    import javax.swing.JFrame ;
    import javax.swing.JButton ;
    import javax.swing.JLabel ;
    import javax.swing.JPanel ;
    import javax.swing.JTextField ;
    import javax.swing.JTextArea ;
    import javax.swing.JScrollPane ;
    import javax.swing.JPasswordField ;
    
    class MyHandleKey extends JFrame implements KeyListener
    {
        JTextArea text = new JTextArea() ;
        public MyHandleKey()
        {
            super.setTitle("按键精灵") ;
            JScrollPane sc = new JScrollPane(text) ;
            sc.setBounds(5,5,300,200) ;
            super.add(sc) ;
            text.addKeyListener(this) ;
           
            super.addWindowListener(new WindowAdapter()
            {
               public void WindowClosing(WindowEvent e)
               {
                   System.exit(1) ;
               }
            }) ;
           
            super.setSize(400,400) ;
            super.setVisible(true) ;
        }
       
        public void keyPressed(KeyEvent e)    //按键被按下
        {
            text.append(" "+KeyEvent.getKeyText(e.getKeyCode())+" 键被按下
    ") ;
        }
       
        public void keyReleased(KeyEvent e)     //按键松开
        {
            text.append(" "+KeyEvent.getKeyText(e.getKeyCode())+"被松开
    ") ;
        }
       
        public void keyTyped(KeyEvent e)
        {
            text.append("输入的内容是:"+e.getKeyChar()+"
    ") ;
        }
    } ;
    
    class Tester
    {
       public static void main(String args[])
       {
          MyHandleKey mhk = new MyHandleKey() ;
       }
    } ;
    

    与鼠标监听同样的问题,这样写代码太冗余,下面提供适配器改良

    import java.awt.event.ActionEvent ;
    import java.awt.event.ActionListener ;
    import java.awt.event.WindowListener ;
    import java.awt.event.WindowAdapter ;
    import java.awt.event.WindowEvent ;
    import java.awt.event.KeyEvent ;
    import java.awt.event.KeyAdapter ;   //ferfect
    import java.awt.event.KeyListener ;
    import javax.swing.JTextArea ;
    import javax.swing.JFrame ;
    import javax.swing.JScrollPane ;
    import javax.swing.JPasswordField ;
    
    class MyHandleKey extends JFrame
    {
        JTextArea text = new JTextArea() ;
        public MyHandleKey()
        {
            super.setTitle("按键精灵") ;
            JScrollPane sc = new JScrollPane(text) ;
            sc.setBounds(5,5,300,200) ;
            super.add(sc) ;
            text.addKeyListener(new KeyAdapter()    //再次应用Adapter
            {
                public void keyPressed(KeyEvent e)
                {  
                    //text.setText("") ;
                    text.append(KeyEvent.getKeyText(e.getKeyCode())+" 被按下
    ") ;
                }
            }) ;
           
            super.addWindowListener(new WindowAdapter()
            {
               public void WindowClosing(WindowEvent e)
               {
                   System.exit(1) ;
               }
            }) ;
           
            super.setSize(400,400) ;
            super.setVisible(true) ;
        }
       
    } ;
    
    class Tester
    {
       public static void main(String args[])
       {
          MyHandleKey mhk = new MyHandleKey() ;
       }
    } ;
    


  • 相关阅读:
    [转载]Oracle中TO_DATE()函数用法
    validationEngine
    批处理执行sql语句 osql
    asp.net导出excel
    Oracle nls_sort和nlssort 排序功能介绍
    js中2个等号与3个等号的区别
    【36】第零章 起航
    那些年,我还在学习Ajax
    那些年,我还在学习java
    那些年,我还在学习jquery
  • 原文地址:https://www.cnblogs.com/emoji/p/4436800.html
Copyright © 2011-2022 走看看