Java键盘事件监听

Java键盘事件监听(一):

Java键盘事件监听

package com.han;      import java.awt.Container;   import java.awt.event.KeyEvent;   import java.awt.event.KeyListener;      import javax.swing.JFrame;   import javax.swing.JLabel;   import javax.swing.JScrollPane;   import javax.swing.JTextArea;   import javax.swing.SpringLayout;      /**   * 键盘事件监听(1)   * @author HAN   *   */   public class KeyEvent_1 extends JFrame {          /**       *        */       private static final long serialVersionUID = -6762512303624322086L;          public KeyEvent_1() {           // TODO Auto-generated constructor stub            Container container = getContentPane();           SpringLayout springLayout = new SpringLayout();           container.setLayout(springLayout);           JLabel remarqueLabel = new JLabel("remarque :");           JTextArea textArea = new JTextArea(330);           JScrollPane scrollPane = new JScrollPane();           scrollPane.setViewportView(textArea);           container.add(remarqueLabel);           springLayout.putConstraint(SpringLayout.WEST, remarqueLabel, 5,                   SpringLayout.WEST, container);           springLayout.putConstraint(SpringLayout.NORTH, remarqueLabel, 5,                   SpringLayout.NORTH, container);           container.add(scrollPane);           springLayout.putConstraint(SpringLayout.WEST, scrollPane, 5,                   SpringLayout.EAST, remarqueLabel);           springLayout.putConstraint(SpringLayout.NORTH, scrollPane, 5,                   SpringLayout.NORTH, container);           springLayout.putConstraint(SpringLayout.EAST, scrollPane, -5,                   SpringLayout.EAST, container);           springLayout.putConstraint(SpringLayout.SOUTH, scrollPane, -5,                   SpringLayout.SOUTH, container);              textArea.addKeyListener(new KeyListener() {                  @Override               public void keyTyped(KeyEvent e) {                   // TODO Auto-generated method stub                    System.out.println("The charactor you typed : " + "\""                           + e.getKeyChar() + "\"");               }                  @Override               public void keyPressed(KeyEvent e) {                   // TODO Auto-generated method stub                                       // 写大写字母时,释放按键是不知道是否先释放的是shift还是字母按键;但是                    // 可以肯定的是按按键时必须是先按的shift。                    if (e.getKeyCode() == KeyEvent.VK_CONTROL ||                            e.getKeyCode() == KeyEvent.VK_SHIFT ||                           e.getKeyCode() == KeyEvent.VK_ALT) {                       System.out.println("\n" + "The Component triggered : " + e.getSource());                   }                   if (!(e.isControlDown() || e.isShiftDown() || e.isAltDown())) {                       System.out.println("\n" + "The Component triggered : " + e.getSource());                   }                   String keyText = KeyEvent.getKeyText(e.getKeyCode());                   if (e.isActionKey()) {                       System.out.print("The action key you pressed : " + "\""                               + keyText + "\"");                   } else {                       System.out.print("The non-action key you pressed : " + "\""                               + keyText + "\"");                       int keyCode = e.getKeyCode();                       switch (keyCode) {                       case KeyEvent.VK_CONTROL:                           System.out.print(", Control key is pressed");                           break;                       case KeyEvent.VK_SHIFT:                           System.out.print(", Shift key is pressed");                           break;                       case KeyEvent.VK_ALT:                           System.out.print(", Alt key is pressed");                           break;                       }                   }                   System.out.println();               }                  @Override               public void keyReleased(KeyEvent e) {                   // TODO Auto-generated method stub                    // the integer code for an actual key on the keyboard.                     // (For KEY_TYPED events, the keyCode is VK_UNDEFINED.)                    System.out.println("The key you released : " +  "\"" +                           KeyEvent.getKeyText(e.getKeyCode()) + "\"");               }              });       }          /**       * @param args       */       public static void main(String[] args) {           // TODO Auto-generated method stub            KeyEvent_1 frame = new KeyEvent_1();           frame.setTitle("KeyEvent Test");           frame.setVisible(true);           frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);           frame.setBounds(00600300);       }      }  

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/pxydy.html