JAVA学习笔记20210422_鼠标键盘交互

键盘监听

使用KeyListener完成键盘操作和输入信息的监听

  • KeyListener不能单独使用,必须使用组件当作中间媒介,此处使用JFrame添加监听器
  • getKeyChar()返回每敲击键盘后得到的字符
  • getKeyCode()返回按键码,用来查知用户按了什么键,如[Shift]键code为16
  • getKeyCode()在keyTyped() 上是无法检测出来的,因为keyTyped()只管用户输入的字符,而不会管到键盘的对应码。因此要将getKeyCode()方法写keyPressed()或keyReleased()方法中,这两个方法是处理比较低层的方法
/**
* this is a keyboard listener
* @author XYM_
* @date 2021-4-22
* @version 1.0
*/

import javax.swing.*;
import java.awt.*;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

public class KListener implements KeyListener{
    @Override
    public void keyTyped(KeyEvent e){
        System.out.println("Key Type Event");
        System.out.println("Key char: " + e.getKeyChar());
    }
    @Override
    public void keyPressed(KeyEvent e){
        System.out.println("Key Press Event");
        System.out.println("Key Code: " + e.getKeyCode());
    }
    @Override
    public void keyReleased(KeyEvent e){
        System.out.println("Key Released Event");
        //System.out.println("Key Code: " + e.getKeyCode());
    }

    public static void main(String[] args){
        javax.swing.JFrame f = new javax.swing.JFrame();
        f.addKeyListener(new KListener());
        f.setSize(300,200);
        f.setDefaultCloseOperation(3);
        f.setVisible(true);
    }
}

运行结果:

D:\PractiseJava\Monitor>java KListener
Key Type Event
Key char: 啊
Key Press Event
Key Code: 16
Key Released Event
Key Press Event
Key Code: 65
Key Type Event
Key char: a
Key Released Event
Key Press Event
Key Code: 66
Key Type Event
Key char: b
Key Released Event

简单应用:设置组合键Ctrl+K打开指定网页

@Override
    public void keyPressed(KeyEvent e){
        System.out.println("Key Press Event");
        System.out.println("Key Code: " + e.getKeyCode());
        try{
            if(e.getKeyCode() == KeyEvent.VK_K && e.isControlDown()){
                Runtime.getRuntime().exec("cmd /c start http://www.baidu.com\"");
            }
        }catch(IOException ie){
            ie.printStackTrace();
        }
    }
鼠标监听

ref:鼠标监听(MouseListener、MouseMotionListener)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值