JAVA键盘事件监听(1)

来源:互联网 发布:太阳能路灯配置软件 编辑:程序博客网 时间:2024/05/16 15:59

转载自:http://blog.csdn.net/gaowen_han/article/details/7738655

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 stubContainer container = getContentPane();SpringLayout springLayout = new SpringLayout();container.setLayout(springLayout);JLabel remarqueLabel = new JLabel("remarque :");JTextArea textArea = new JTextArea(3, 30);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() {@Overridepublic void keyTyped(KeyEvent e) {// TODO Auto-generated method stubSystem.out.println("The charactor you typed : " + "\""+ e.getKeyChar() + "\"");}@Overridepublic 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();}@Overridepublic 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 stubKeyEvent_1 frame = new KeyEvent_1();frame.setTitle("KeyEvent Test");frame.setVisible(true);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setBounds(0, 0, 600, 300);}}

0 0
原创粉丝点击