JAVA之键盘,鼠标监听事件
来源:互联网 发布:淘宝小崔韩代 编辑:程序博客网 时间:2024/05/18 18:54
本案设计键盘按钮,画出一个简易键盘,
通过按下,释放键盘
鼠标经过按钮,鼠标点击按钮,鼠标离开按钮
详细解释了鼠标键盘对应事件
先看一下键盘监听接口的API
- void keyPressed(KeyEvent e) 按下键时调用。
- void keyReleased(KeyEvent e) 当键已被释放时调用。
- void keyTyped(KeyEvent e) 键入键时调用。
再看看鼠标监听接口的API
- void mouseClicked(MouseEvent e) 在组件上单击(按下并释放)鼠标按钮时调用。
- void mouseEntered(MouseEvent e) 当鼠标进入组件时调用。
- void mouseExited(MouseEvent e) 当鼠标退出组件时调用。
- void mousePressed(MouseEvent e) 在组件上按下鼠标按钮时调用。
- void mouseReleased(MouseEvent e) 在组件上释放鼠标按钮时调用。
package com.xiaoqiang;import java.awt.Color;import java.awt.Container;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.KeyEvent;import java.awt.event.KeyListener;import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JTextArea;/** * 本类通多个按钮 * 来实现练习键盘监听接口的使用 * @author xiaoqiang * @Time 2017年4月30日 */public class KeyBoard extends JFrame implements KeyListener,MouseListener{ Container con; JButton[] [] jButton; JPanel jp; JTextArea textArea; JButton reset; private static String[] keys={"1234567890-=","QWERTYUIOP[]","ASDFGHJKL'","ZXCVBNM,./"}; public KeyBoard(){ super("键盘模拟器"); this.draw(); } private void draw(){ con=this.getContentPane(); con.setLayout(null); jButton=new JButton[keys.length][]; for(int i=0;i<keys.length;i++){ jButton[i]=new JButton[keys[i].length()]; for(int j=0;j<keys[i].length();j++){ jButton[i][j]=new JButton(String.valueOf(keys[i].charAt(j))); jButton[i][j].setBounds(10+j*80, 30+i*80, 70, 70); jButton[i][j].setBackground(Color.BLUE); con.add(jButton[i][j]); jButton[i][j].addKeyListener(this); jButton[i][j].addMouseListener(this); } } textArea=new JTextArea(); textArea.setBounds(20, 350, 900, 375); textArea.setEditable(false); con.add(textArea); reset=new JButton("重置"); reset.setBounds(810,190,150,150); reset.addMouseListener(this); con.add(reset); this.setSize(1000, 800); this.setVisible(true); } @Override public void keyTyped(KeyEvent e) { // TODO Auto-generated method stub } /** * 在按下见键盘时,选择按下按键 * 把指定按键变红 */ @Override public void keyPressed(KeyEvent e) { System.out.println(e.getKeyChar()); for(int i=0;i<keys.length;i++){ for(int j=0;j<keys[i].length();j++){ if(jButton[i][j].getText().equals(String.valueOf(Character.toUpperCase(e.getKeyChar())))){ jButton[i][j].setBackground(Color.red); textArea.setText(textArea.getText()+jButton[i][j].getText()); } } } } /** * 在释放按下键盘时, * 把按下字母恢复到原来状态 */ @Override public void keyReleased(KeyEvent e) { for(int i=0;i<keys.length;i++){ for(int j=0;j<keys[i].length();j++){ if(jButton[i][j].getText().equals(String.valueOf(Character.toUpperCase(e.getKeyChar())))){ jButton[i][j].setBackground(Color.blue); } } } } public static void main(String[] args) { new KeyBoard(); } /** * 鼠标点击把内容放入文本框 */ @Override public void mouseClicked(MouseEvent e) { if(e.getSource().equals(reset)){ textArea.setText(""); }else{ JButton button=(JButton) e.getSource(); for(int i=0;i<keys.length;i++){ for(int j=0;j<keys[i].length();j++){ if(jButton[i][j].getText().equals(button.getText())){ textArea.setText(textArea.getText()+button.getText()); } } } } } @Override public void mousePressed(MouseEvent e) { // TODO Auto-generated method stub } @Override public void mouseReleased(MouseEvent e) { } /** * 鼠标进入相应组件 * 按钮变红 */ @Override public void mouseEntered(MouseEvent e) { // TODO Auto-generated method stub JButton button=(JButton) e.getSource(); for(int i=0;i<keys.length;i++){ for(int j=0;j<keys[i].length();j++){ if(jButton[i][j].getText().equals(button.getText())){ jButton[i][j].setBackground(Color.red); } } } } /** * 鼠标退出组件 * 按钮恢复蓝色 */ @Override public void mouseExited(MouseEvent e) { // TODO Auto-generated method stub JButton button=(JButton) e.getSource(); for(int i=0;i<keys.length;i++){ for(int j=0;j<keys[i].length();j++){ if(jButton[i][j].getText().equals(button.getText())){ jButton[i][j].setBackground(Color.blue); } } } }}
1 0
- JAVA之键盘,鼠标监听事件
- Java监听键盘鼠标全局事件
- Java监听键盘鼠标全局事件
- Unity键盘鼠标监听事件
- python 监听鼠标键盘事件
- 事件 鼠标监听和键盘监听
- JAVA:事件监听器之键盘监听
- pyhook监听鼠标事件和键盘事件
- java基础学习之事件监听之键盘监听
- JAVA监听键盘事件
- Java键盘事件监听
- Java监听鼠标事件
- java鼠标事件监听
- java之事件监听(二)键盘监听
- java全局鼠标键盘监听
- java之事件监听(三)鼠标监听
- Java Swing 键盘监听鼠标移动监听
- 全局钩子监听键盘鼠标事件
- LeetCode-150. Evaluate Reverse Polish Notation (JAVA)逆波兰表达式求值
- PHP设计模式系列(十一):状态模式
- 做游戏,学编程(C语言) 4 flappy bird
- SpringBoot非官方教程 | 第十四篇:在springboot中用redis实现消息队列
- 文章标题
- JAVA之键盘,鼠标监听事件
- java中讲讲InputStreamReader的用法,举例?
- 程序员创业的情怀和梦想
- 树的子结构
- 做游戏,学编程(C语言) 5 数组之生命游戏
- laravel学习笔记(4)— 数据库操作之
- 面对压力,逃避还是面对?
- Hibernate 注解使用总结
- 做游戏,学编程(C语言) 6 数组之空战游戏