Java键盘事件监听(1)

来源:互联网 发布:遗传算法交叉变异概率 编辑:程序博客网 时间:2024/05/16 11:18

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);}}


原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 怎么办光汇加油卡 消防维保资质怎么办 车辆免上线年检怎么办 突然对花生过敏怎么办 缓刑没地方接收怎么办 出国平均分不够怎么办 河南水利五大员怎么办 转学学校没学位怎么办 koa2 渲染网页慢怎么办 烤箱的灯不亮了怎么办 兰州新区非农户怎么办? 施工员证书到期怎么办 银行从业过期了怎么办 国地税合并协税员怎么办 快递员虚报重量怎么办 信用卡刷整数了怎么办 汽车年检尾气不合格怎么办 车辆年检尾气不合格怎么办 年检手刹不合格怎么办 社会保障卡怎么办郑州的 网约车驾驶员证怎么办 干洗出现问题了怎么办 教师工资太低了怎么办 鸽子得了新城疫怎么办 氮肥施多了怎么办 当兵体质差跑步怎么办 手盘核桃脏了怎么办 怀孕吃了巴旦木怎么办 护士证丢了怎么办 扶贫搬迁老房子怎么办 ucl录取差两分怎么办 考研准考证号填错了怎么办? 拿到工伤证后怎么办 专接本有挂科怎么办 小孩发烧后惊厥怎么办 深圳民办学校停办学生怎么办 教育机构不退钱怎么办 智慧树错过选课怎么办 河南城建学院怎么办网 建学校土地手续怎么办 德国预科不能毕业怎么办