AWT—鼠标监听,窗口监听,键盘监听
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—鼠标监听,窗口监听,键盘监听相关推荐
- java监听双按键_java 键盘监听 按一次键监听到两次
publicgameWin()//构造方法{for(inti=0;i<10;i++){for(intj=0;j<18;j++){map[i][j]=0;}}for(inti=0;i pub ...
- JavaGUI编程 -- 窗口监听事件和键盘监听事件(AWT)
1. JavaGUI编程之窗口监听事件和键盘监听事件(AWT) 1.1 窗口监听事件: 示例代码: package GUI.TestWindow;import java.awt.*; import j ...
- python通过鼠标键盘监听自动桌面截图调用百度文字识别工具
垃圾代码,没有优化,重点是能直接运行,修改也方便 from pynput import mouse,keyboard from collections import deque import thre ...
- uni-app监听窗口尺寸变化事件和隐藏键盘
文章目录 监听窗口尺寸变化 uni.onWindowResize(CALLBACK) uni.offWindowResize(CALLBACK) 隐藏软键盘 uni.hideKeyboard() un ...
- python pynput库 自动按键 鼠标键盘 监听控制插件 可以制作按键精灵
这是一个跨平台,使用简单的鼠标键盘监听控制库. 安装 环境 mac os + python 3.6 pip install pynput 监听,控制 import time from pynput i ...
- Python键盘监听-捕获输入的键值-鼠标监听
使用pyHook可以实现检测键盘的每个按键,并区分左右Ctrl.shift.win等,以及区分主键盘数字和小键盘数字等. 本来很简单的东西,网上很多文章一堆东西甩在哪,很难看懂,让人感觉有多难. 其实 ...
- java键盘监听keyadapter_JAVA 键盘监听当中,释放键盘并没有停止运动
package plane; import java.awt.Graphics; import java.awt.Image; import java.awt.event.KeyAdapter; im ...
- Android模拟键盘和键盘监听的一些调研
1 键盘监控分析 Android的按键产生的是一个KeyEvent,这个KeyEvent只能被最上层focus窗口的activity和view得到. 所有的按键事件都会首先触发pu ...
- JAVA飞机移动斜着走_通过键盘的能够使飞机上下左右八个方向移动,现在实现键盘监听时没有反应是怎么回事,哪里出错了?...
通过键盘的能够使飞机上下左右八个方向移动,现在实现键盘监听时没有反应是怎么回事,哪里出错了? 关注:93 答案:2 mip版 解决时间 2021-01-30 07:58 提问者雨份凉伴 2021- ...
最新文章
- rabbitmq队列php应用,RabbitMQ工作队列应用
- cnpm不是内部或外部命令 cnpm: command not found 解决方案 cnpm
- linux运维、架构之路-HAProxy反向代理
- jQuery教学-简单好用的视差滚动特效Parallax Effect
- Python编码风格指南
- maven+Spring boot 打包发布运行
- 判断用户 小程序_【重要声明】小程序维护中,iphone用户手机暂时用不了小程序...
- [五]java函数式编程归约reduce概念原理 stream reduce方法详解 reduce三个参数的reduce方法如何使用...
- 发自虎扑android客户端,巴斯托尼要长留我纯啊
- 定位日站大法之-社会工程学
- 【例9.3】求最长不下降序列
- 『计算机视觉』Mask-RCNN_训练网络其一:数据集与Dataset类
- 线性二次型调节器(LQR)原理详解
- 书籍精品Android篇,拿好赶紧收藏
- 适配iPhoneX、iPhoneXs、iPhoneXs Max、iPhoneXr 屏幕尺寸及安全区域
- 分析MP4的名人博客
- 中国步进电机市场现状研究分析与发展前景预测报告(2022)
- 2022年医院三基考试肿瘤相关训练题及答案
- 安卓中压缩纹理ETC1和ETC2
- property 理解