Java Swing事件处理——键盘事件及监听处理 KeyListener 按键测试

avatar 2017年5月11日21:47:50 1 331 views

代码如下

  1. package com.liuyanzhao;
  2. import java.awt.Button;
  3. import java.awt.Color;
  4. import java.awt.Frame;
  5. import java.awt.Label;
  6. import java.awt.Panel;
  7. import java.awt.event.ActionEvent;
  8. import java.awt.event.ActionListener;
  9. import java.awt.event.KeyEvent;
  10. import java.awt.event.KeyListener;
  11. import javax.swing.JButton;
  12. import javax.swing.JFrame;
  13. import javax.swing.JLabel;
  14. import javax.swing.JPanel;
  15. import javax.swing.JTextArea;
  16. import javax.swing.WindowConstants;
  17. public class Demo2 {
  18.     public static void main(String[] args) {
  19.         GUI g = new GUI();
  20.     }
  21. }
  22. class GUI extends JFrame {
  23.     JTextArea textArea;
  24.     public GUI() {
  25.         JFrame frame = new JFrame("键盘测试");
  26.         JPanel panel = new JPanel();
  27.         textArea = new JTextArea();
  28.         panel.add(textArea);
  29.         panel.setBounds(100100100100);
  30.         textArea.addKeyListener(new MyListener());
  31.         textArea.append("开始吧:\n");
  32.         frame.add(textArea);
  33.         frame.setSize(400400);
  34.         frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
  35.         frame.setVisible(true);
  36.     }
  37.     class MyListener implements KeyListener {
  38.         @Override // 按下
  39.         public void keyPressed(KeyEvent e) {
  40.             textArea.append("按下:"+KeyEvent.getKeyText(e.getKeyCode()) + "\n");
  41.         }
  42.         @Override // 松开
  43.         public void keyReleased(KeyEvent e) {
  44.             textArea.append("松开:" + KeyEvent.getKeyText(e.getKeyCode()) + "\n");
  45.             if(KeyEvent.getKeyText(e.getKeyCode()).equals("C")) {
  46.                 textArea.setText("");
  47.             }
  48.         }
  49.         @Override // 输入的内容
  50.         public void keyTyped(KeyEvent e) {
  51.             textArea.append("输入:" + e.getKeyChar() + "\n");
  52.         }
  53.     }
  54. }

运行结果如下

本文地址:http://liuyanzhao.com/4087.html

转载请注明

  • 微信
  • 交流学习,有偿服务
  • weinxin
  • 博客/Java交流群
  • 资源分享,问题解决,技术交流。群号:590480292
  • weinxin
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:1   其中:访客  1   博主  0

    • avatar 云深不知处 0

      中文输入法下为什么无效