AWT—鼠标监听,窗口监听,键盘监听

鼠标监听

目的:实现鼠标作画

package com.deng.lesson03;
​
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.ArrayList;
import java.util.Iterator;
//鼠标监听事件
public class TestMouseListener {public static void main(String[] args) {new MyFrame("画图");}
}//自己的类
class MyFrame extends Frame{//画画需要画笔,需要监听鼠标当前位置,需要集合来储存这个点ArrayList points;public MyFrame(String title){super(title);setBounds(500,500,500,500);//存鼠标的点points = new ArrayList<>();setVisible(true);//鼠标监听器,针对这个窗口this.addMouseListener(new MyMouseListener());}@Override public void paint(Graphics g) {//画画,监听鼠标事件Iterator iterator = points.iterator();while (iterator.hasNext()) {Point point = (Point) iterator.next();g.setColor(Color.BLUE);g.fillOval(point.x, point.y, 50, 50);}}//添加一个点到界面上public void addPaint(Point point){points.add(point);}//适配器模式
private class MyMouseListener extends MouseAdapter{//鼠标 按下,弹起,按住不放@Overridepublic void mousePressed(MouseEvent e) {MyFrame frame = (MyFrame) e.getSource();//这个我们点击个时候,就会在界面上产生一个点!画//这个点就是鼠标的点frame.addPaint( new Point(e.getX(),e.getY()));//每次点击鼠标都需要重画一遍frame.repaint();//刷新}}
}

窗口监听

package com.deng.lesson03;
​
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
//窗口监听事件
public class TestWindow {public static void main(String[] args) {new WindowFrame();}
}
class WindowFrame extends Frame {public WindowFrame() {setBackground(Color.CYAN);setBounds(200, 200, 400, 400);setVisible(true);// addWindowListener(new MyWindowListener());this.addWindowListener(//匿名内部类new WindowAdapter() {//关闭窗口@Overridepublic void windowClosing(WindowEvent e) {System.exit(0);System.out.println("windowClosing");}//激活窗口@Overridepublic void windowActivated(WindowEvent e) {WindowFrame source = (WindowFrame) e.getSource();source.setTitle("被激活了");System.out.println("windowActivated");}});}
}

键盘监听

package com.deng.lesson03;
​
import javafx.scene.input.KeyCode;
​
import java.awt.*;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
//键盘监听事件
public class TestKeyListener {public static void main(String[] args) {new KeyFrame();}
}
class KeyFrame extends Frame{public KeyFrame(){setBounds(4,5,400,400);setVisible(true);
​this.addKeyListener(new KeyAdapter() {//键盘按下@Overridepublic void keyPressed(KeyEvent e) {//获得键盘下的键是那一个,当前的码int keyCode = e.getKeyCode();//不需要去记录这个值,直接使用静态属性 VK_XXXSystem.out.println(keyCode);if (keyCode == KeyEvent.VK_UP ){System.out.println("你按了上键");}//根据按下的不同操作,产生不同结果}});}
}

AWT—鼠标监听,窗口监听,键盘监听相关推荐

  1. java监听双按键_java 键盘监听 按一次键监听到两次

    publicgameWin()//构造方法{for(inti=0;i<10;i++){for(intj=0;j<18;j++){map[i][j]=0;}}for(inti=0;i pub ...

  2. JavaGUI编程 -- 窗口监听事件和键盘监听事件(AWT)

    1. JavaGUI编程之窗口监听事件和键盘监听事件(AWT) 1.1 窗口监听事件: 示例代码: package GUI.TestWindow;import java.awt.*; import j ...

  3. python通过鼠标键盘监听自动桌面截图调用百度文字识别工具

    垃圾代码,没有优化,重点是能直接运行,修改也方便 from pynput import mouse,keyboard from collections import deque import thre ...

  4. uni-app监听窗口尺寸变化事件和隐藏键盘

    文章目录 监听窗口尺寸变化 uni.onWindowResize(CALLBACK) uni.offWindowResize(CALLBACK) 隐藏软键盘 uni.hideKeyboard() un ...

  5. python pynput库 自动按键 鼠标键盘 监听控制插件 可以制作按键精灵

    这是一个跨平台,使用简单的鼠标键盘监听控制库. 安装 环境 mac os + python 3.6 pip install pynput 监听,控制 import time from pynput i ...

  6. Python键盘监听-捕获输入的键值-鼠标监听

    使用pyHook可以实现检测键盘的每个按键,并区分左右Ctrl.shift.win等,以及区分主键盘数字和小键盘数字等. 本来很简单的东西,网上很多文章一堆东西甩在哪,很难看懂,让人感觉有多难. 其实 ...

  7. java键盘监听keyadapter_JAVA 键盘监听当中,释放键盘并没有停止运动

    package plane; import java.awt.Graphics; import java.awt.Image; import java.awt.event.KeyAdapter; im ...

  8. Android模拟键盘和键盘监听的一些调研

    1           键盘监控分析 Android的按键产生的是一个KeyEvent,这个KeyEvent只能被最上层focus窗口的activity和view得到. 所有的按键事件都会首先触发pu ...

  9. JAVA飞机移动斜着走_通过键盘的能够使飞机上下左右八个方向移动,现在实现键盘监听时没有反应是怎么回事,哪里出错了?...

    通过键盘的能够使飞机上下左右八个方向移动,现在实现键盘监听时没有反应是怎么回事,哪里出错了? 关注:93  答案:2  mip版 解决时间 2021-01-30 07:58 提问者雨份凉伴 2021- ...

最新文章

  1. rabbitmq队列php应用,RabbitMQ工作队列应用
  2. cnpm不是内部或外部命令 cnpm: command not found 解决方案 cnpm
  3. linux运维、架构之路-HAProxy反向代理
  4. jQuery教学-简单好用的视差滚动特效Parallax Effect
  5. Python编码风格指南
  6. maven+Spring boot 打包发布运行
  7. 判断用户 小程序_【重要声明】小程序维护中,iphone用户手机暂时用不了小程序...
  8. [五]java函数式编程归约reduce概念原理 stream reduce方法详解 reduce三个参数的reduce方法如何使用...
  9. 发自虎扑android客户端,巴斯托尼要长留我纯啊
  10. 定位日站大法之-社会工程学
  11. 【例9.3】求最长不下降序列
  12. 『计算机视觉』Mask-RCNN_训练网络其一:数据集与Dataset类
  13. 线性二次型调节器(LQR)原理详解
  14. 书籍精品Android篇,拿好赶紧收藏
  15. 适配iPhoneX、iPhoneXs、iPhoneXs Max、iPhoneXr 屏幕尺寸及安全区域
  16. 分析MP4的名人博客
  17. 中国步进电机市场现状研究分析与发展前景预测报告(2022)
  18. 2022年医院三基考试肿瘤相关训练题及答案
  19. 安卓中压缩纹理ETC1和ETC2
  20. property 理解

热门文章

  1. PowerDesigner 窗口字体太小,调整
  2. EasyCVR平台云存储技术的应用场景解析
  3. 看图要仔细-设计74HC165的原理图库文件-PCB系列教程2-2
  4. 距离高考仅剩半年,如何才能快速冲刺985及清北?
  5. C++标准库和标准模板库(转)
  6. 五证办理流程,流程详细附图片
  7. 苹果捷径APP更新,正式更名“快捷指令”
  8. 基于ETest和PCI的汽车电动助力转向系统的测试研究
  9. wps中查找出现问题
  10. 物联网技术在智慧城市中的应用