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

代码如下

   package com.liuyanzhao;
    import java.awt.Button;
    import java.awt.Color;
    import java.awt.Frame;
    import java.awt.Label;
    import java.awt.Panel;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.KeyEvent;
    import java.awt.event.KeyListener;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JTextArea;
    import javax.swing.WindowConstants;
    public class Demo2 {
        public static void main(String[] args) {
            GUI g = new GUI();
        }
    }
    class GUI extends JFrame {
        JTextArea textArea;
        public GUI() {
            JFrame frame = new JFrame("键盘测试");
            JPanel panel = new JPanel();
            textArea = new JTextArea();
            panel.add(textArea);
            panel.setBounds(100, 100, 100, 100);
            textArea.addKeyListener(new MyListener());
            textArea.append("开始吧:\n");
            frame.add(textArea);
            frame.setSize(400, 400);
            frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
            frame.setVisible(true);
        }
        class MyListener implements KeyListener {
            @Override // 按下
            public void keyPressed(KeyEvent e) {
                textArea.append("按下:"+KeyEvent.getKeyText(e.getKeyCode()) + "\n");
            }
            @Override // 松开
            public void keyReleased(KeyEvent e) {
                textArea.append("松开:" + KeyEvent.getKeyText(e.getKeyCode()) + "\n");
                if(KeyEvent.getKeyText(e.getKeyCode()).equals("C")) {
                    textArea.setText("");
                }
            }
            @Override // 输入的内容
            public void keyTyped(KeyEvent e) {
                textArea.append("输入:" + e.getKeyChar() + "\n");
            }
        }
    }

运行结果如下

这里写图片描述


本文链接:http://liuyanzhao.com/4087.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

半缘修道半缘君丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值