11.3 鼠标事件

Win11蓝牙鼠标卡顿根因与彻底解决指南 蓝牙鼠标在Windows 11中出现间歇性卡顿,本质是操作系统对HCI链路层的激进省电策略(Link Policy Aggressive Power Save)与消费级外设固件唤醒时序不兼容所致。其原理在于系统默认启用低功耗模式(LPM),在空闲300ms后强制休眠蓝牙控制器,而多数罗技、微软等品牌鼠标未能及时响应唤醒指令,导致1.2–1.8秒静默断连。该问题技术价值在于揭示了Win11协议栈与硬件协同的隐性兼容瓶颈,广泛应用于办公演示、远程会议、内容创作等对输入实时性敏感的场景。本文聚焦‘Win11’‘蓝 阅读详情
import java.awt.*;
import javax.swing.*;

/**
 * @version 1.34 2015-06-12
 * @author Cay Horstmann
 */
public class MouseTest
{
   public static void main(String[] args)
   {
      EventQueue.invokeLater(() -> {
         JFrame frame = new MouseFrame();
         frame.setTitle("MouseTest");
         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
         frame.setVisible(true);
      });
   }
}
import javax.swing.*;

/**
 * A frame containing a panel for testing mouse operations
 */
public class MouseFrame extends JFrame
{
   public MouseFrame()
   {
      add(new MouseComponent());
      pack();
   }
}
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import java.util.*;
import javax.swing.*;

/**
 * A component with mouse operations for adding and removing squares.
 */
public class MouseComponent extends JComponent
{
   private static final int DEFAULT_WIDTH = 300;
   private static final int DEFAULT_HEIGHT = 200;

   private static final int SIDELENGTH = 10;
   private ArrayList<Rectangle2D> squares;
   private Rectangle2D current; // the square containing the mouse cursor

   public MouseComponent()
   {
      squares = new ArrayList<>();
      current = null;

      addMouseListener(new MouseHandler());
      addMouseMotionListener(new MouseMotionHandler());
   }

   public Dimension getPreferredSize() { return new Dimension(DEFAULT_WIDTH, DEFAULT_HEIGHT); }   

   public void paintComponent(Graphics g)
   {
      Graphics2D g2 = (Graphics2D) g;

      // draw all squares
      for (Rectangle2D r : squares)
         g2.draw(r);
   }

   /**
    * Finds the first square containing a point.
    * @param p a point
    * @return the first square that contains p
    */
   public Rectangle2D find(Point2D p)
   {
      for (Rectangle2D r : squares)
      {
         if (r.contains(p)) return r;
      }
      return null;
   }

   /**
    * Adds a square to the collection.
    * @param p the center of the square
    */
   public void add(Point2D p)
   {
      double x = p.getX();
      double y = p.getY();

      current = new Rectangle2D.Double(x - SIDELENGTH / 2, y - SIDELENGTH / 2, SIDELENGTH,
            SIDELENGTH);
      squares.add(current);
      repaint();
   }

   /**
    * Removes a square from the collection.
    * @param s the square to remove
    */
   public void remove(Rectangle2D s)
   {
      if (s == null) return;
      if (s == current) current = null;
      squares.remove(s);
      repaint();
   }

   private class MouseHandler extends MouseAdapter
   {
      public void mousePressed(MouseEvent event)
      {
         // add a new square if the cursor isn't inside a square
         current = find(event.getPoint());
         if (current == null) add(event.getPoint());
      }

      public void mouseClicked(MouseEvent event)
      {
         // remove the current square if double clicked
         current = find(event.getPoint());
         if (current != null && event.getClickCount() >= 2) remove(current);
      }
   }

   private class MouseMotionHandler implements MouseMotionListener
   {
      public void mouseMoved(MouseEvent event)
      {
         // set the mouse cursor to cross hairs if it is inside
         // a rectangle

         if (find(event.getPoint()) == null) setCursor(Cursor.getDefaultCursor());
         else setCursor(Cursor.getPredefinedCursor(Cursor.CROSSHAIR_CURSOR));
      }

      public void mouseDragged(MouseEvent event)
      {
         if (current != null)
         {
            int x = event.getX();
            int y = event.getY();

            // drag the current rectangle to center it at (x, y)
            current.setFrame(x - SIDELENGTH / 2, y - SIDELENGTH / 2, SIDELENGTH, SIDELENGTH);
            repaint();
         }
      }
   }   
}
用Plecs搞定半桥LLC谐振变换器仿真:从开环模型搭建到闭环PI调参全流程 本文详细介绍了使用Plecs仿真工具进行半桥LLC谐振变换器从开环模型搭建到闭环PI调参的全流程操作。涵盖仿真环境准备、关键元件参数计算、波形异常排查、闭环控制实现及PI参数整定等核心内容,特别针对仿真中的收敛性问题提供实用解决方案,助力电力电子设计者高效完成LLC变换器仿真验证。 阅读详情

相关推荐

【保姆级教程/代码】GNSS反演大气可降水量(Precipitable Water Vapor, PWV)

GPS精密单点定位(PPP)是一种采用精密卫星星历和卫星钟差进行非差单点定位的方法,在观测过程中采用双频载波相位观测法以确保高精度定位精度。本文利用PPP技术来求解天顶对流层延迟(zenith tropospheric delay,ZTD)。ZTD由湿延迟(ZWD)和干延迟(ZHD)组成,其中占比90%的ZHD与地面测站高程、大气压和测站纬度等参数有良好的相关性,可以通过Saastamoinen模型精确求出;

weixin_43910227的博客 2927

html鼠标的点击事件失效,ol3与IE11在c#webbrowser控制鼠标点击事件不起作用

当我将我的网页加载到IE 11浏览器本机时,所有东西在地图上都能正常工作。当我在c#应用程序中时,一切都会加载没有错误,除非我无法点击地图并将其拖动。我所有的地图点击事件也不会触发。我可以使用箭头键移动地图,而滚轮鼠标也可以工作。我注意到,当我在本机使用IE 11,并使用开发人员工具“打破所有异常”时,在检查PointerEvent.HAS_BUTTONS是否受支持时,在ol3中出现错误,并说Ob...

weixin_32349223的博客 440

5分钟搞懂双目相机标定:从棋盘格到3D点云的完整流程(附Python代码)

本文详细介绍了双目相机标定的完整流程,从棋盘格准备到3D点云生成,涵盖单目标定、双目标定、立体校正、视差计算等关键步骤。通过Python代码示例,帮助读者快速掌握双目立体视觉技术,实现高精度的3D重建。特别适合机器人导航、工业检测等应用场景。

weixin_29100399的博客 588

jquery事件切换(鼠标移入移出,鼠标点击切换)

jquery鼠标移入移出事件 hover(function(){},function(){}) &amp;lt;html&amp;gt; &amp;lt;head&amp;gt; &amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt; &amp;lt;title&amp;gt;&amp;lt;/title&amp;gt; &amp;lt;sc

qq_44063001的博客 2609

Python爬虫零基础入门【第九章:实战项目教学·第17节】内容指纹去重:URL 变体/重复正文的识别!

我长期专注 Python 爬虫工程化实战,主理专栏 👉 《Python爬虫实战》:从采集策略到反爬对抗,从数据清洗到分布式调度,持续输出可复用的方法论与可落地案例。内容主打一个“能跑、能用、能扩展”,让数据价值真正做到——抓得到、洗得净、用得上。

喵手的博客 824

STM32入门教程:智能马桶盖控制

通过编写相应的代码,您可以根据需要实现其他功能,例如座圈温度调节和液晶显示屏显示等。初始化配置 首先,使用STM32CubeMX创建一个新的工程,并选择您所使用的STM32单片机型号。智能马桶盖是一种集成了多种功能的智能家居设备,通过控制芯片来实现自动冲水、座圈加热、座圈温度调节等功能。在本教程中,我们将使用STM32系列单片机来控制智能马桶盖的各个功能。以上代码演示了如何通过STM32的GPIO控制引脚来控制智能马桶盖的冲水和座圈加热功能。写代码 接下来,我们将通过编写代码来控制智能马桶盖的各个功能。

2401_85258012的博客 657

介绍鼠标锁定,右键与中键点击事件–flash player11.2

我们在adobe labs放出了最新的 flashplayer11.2与air3.2 在经历了4年后,现在是时候了!一些很酷的消息就是在这版播放器中实现了一些酷的功能。如鼠标锁定,鼠标右键与中键的点击事件,并且现在可以完全禁用上下文菜单。 鼠标锁定: 一个新的mouseLock 属于已经添加到Stage对象,通过设置Stage.mouseLock为true来使用鼠标锁定生效。

wkyb608的专栏 1599

基于机器学习的网络入侵检测系统设计与实现

本文设计并实现了一个基于机器学习的网络入侵检测系统,采用随机森林模型结合KMM算法优化,使用CICIDS2017数据集进行训练。系统包含完整的数据预处理流程、特征工程、模型调优和远程部署方案。实验结果表明,该系统能有效识别多种网络攻击类型,在检测准确率和误报率方面表现优异。研究为网络安全防护提供了新的技术思路和实用工具,具有重要的应用价值。

huanghm88的专栏 318

html 透明层禁止点击事件,(转)CSS3之pointer-events(屏蔽鼠标事件)属性说明

我们在HTML开发时可能会遇到这样的情况:页面上有一些元素使用绝对定位布局,这些元素可能会遮盖住它们位置下方的某个元素的部分或者全部。默认情况下,下方元素被遮挡的部分是不会响应鼠标事件的。但有时我们可能需要被遮盖住的元素仍然能够处理鼠标事件。 比如:我们在一个地图组件上覆盖了一个显示信息的元素,但又不想让这个信息面板影响下方地图的拖动等操作。那么我们可以使用一个叫pointer-events...

weixin_39804329的博客 1753

基于深度学习的柑橘病害检测系统——YOLOv8 + UI界面 + 数据集

深度学习是机器学习的一种重要分支,它通过构建多层的神经网络(尤其是卷积神经网络CNN)来从大规模的数据中学习特征。近年来,深度学习特别是在计算机视觉领域取得了显著的进展,成为图像分类、目标检测、图像分割等任务的主要技术。对于农业病害检测问题,深度学习通过对大量带标签的病害图像进行训练,能够自动识别不同类型的病害,并判断病害的程度。通过图像中目标(病害区域)的边界框,可以快速定位病害区域,进一步分析其影响范围。

YOLO 1044

Educoder:爬虫实战——求是网周刊文章爬取

第1关:获取新闻url importrequests importre defgeturls(): #**********Begin**********# url='http://www.qstheory.cn/dukan/qs/2014/2019-01/01/c_1123924172.htm' headers={ 'User-Agent':'Mozilla/5.0(Linux;Android6.0;Nexus5Buil...

weixin_46026136的博客 5254

linux鼠标键盘监控整理

linux鼠标键盘监控整理 一、监控鼠标键盘设备 #include <sys/types.h> #include <fcntl.h> #include <stdlib.h> #include <time.h> #include <stdio.h> #include <unistd.h> #include <linux/input.h> #include <pthread.h> #include <time.

elimuzi的博客 2952

基于深度学习的工业零件缺陷检测系统

工业零件缺陷检测系统摘要 本文介绍了一个基于深度学习的工业零件缺陷检测系统解决方案。该系统采用Faster R-CNN目标检测算法,结合PyTorch框架和OpenCV图像处理库,实现了对工业零件表面缺陷(如裂纹、划痕、凹坑等)的自动检测与定位。系统包含完整的开发流程:从数据采集与标注、数据增强预处理、模型构建与训练,到最终的评估与部署。相比传统机器视觉方法,该深度学习方案具有更强的特征表示能力和环境适应性,能够有效提升工业质检的准确率和效率。文章详细阐述了系统架构设计、实现细节和优化策略,并提供了完整的代

huanghm88的专栏 286

识别鼠标选中actor_vtkInteractorStyleTrackballActor

通过自定义vtkInteractorStyle类中成员函数OnLeftButtonDown,判断鼠标当前选中的是哪个actor;同理可自定义鼠标右键、滚轮、键盘等事件。:vtkInteractorStyleTrackballActor允许用户与场景中彼此独立的对象进行交互(旋转、平移等);

Lee notes 904

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

终极指南:Doom 3 GPL输入系统如何处理键盘、鼠标与手柄输入

Doom 3作为经典的第一人称射击游戏,其输入系统设计直接影响玩家的操作体验。本文将深入解析Doom 3 GPL源代码中键盘、鼠标和手柄输入的处理机制,帮助开发者理解游戏输入系统的核心实现。 ## 输入系统核心模块概览 Doom 3的输入系统主要集中在`framework/KeyInput.h`和`framework/KeyInput.cpp`文件中。这个模块负责接收、处理和分发所有用户输入事

gitblog_00966的博客 686

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Mac Mouse Fix 3:将普通鼠标升级为专业触控板的完整实战指南

在macOS生态系统中,鼠标体验一直是许多用户的痛点。Mac Mouse Fix作为一款革命性的开源鼠标增强工具,能够将任何普通鼠标的体验提升到超越Apple触控板的专业水平。这款工具专注于解决macOS鼠标滚动不顺畅、侧键功能受限等核心问题,让您的10美元鼠标也能拥有专业级触控板体验。无论是开发者、设计师还是日常用户,都能通过本文的完整指南快速掌握Mac Mouse Fix的安装、配置和高级功能

gitblog_00584的博客 388

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

MouseX 记录鼠标事件:时间、坐标、键名、窗口名

MouseX 记录鼠标事件:时间、坐标、键名、窗口名

dlmyang的博客 512

详解css3 pointer-events(阻止hover、active、onclick等触发事件)

一、pointer-events 介绍 1、pointer-events更像是JavaScript,它能够: 阻止用户的点击动作产生任何效果 阻止缺省鼠标指针的显示 阻止CSS里的hover和active状态的变化触发事件 阻止JavaScript点击动作触发的事件 通过其他方式绑定的事件还是会触发的,比如键盘事件等。 2、pointer-events是CSS3的一个属...

前进者 1万+

(转)CSS3之pointer-events(屏蔽鼠标事件)属性说明

我们在 HTML 开发时可能会遇到这样的情况:页面上有一些元素使用绝对定位布局,这些元素可能会遮盖住它们位置下方的某个元素的部分或者全部。默认情况下,下方元素被遮挡的部分是不会响应鼠标事件的。 但有时我们可能需要被遮盖住的元素仍然能够处理鼠标事件。 比如:我们在一个地图组件上覆盖了一个显示信息的元素,但又不想让这个信息面板影响下方地图的拖动等操作。那么我们可以使用一个叫 pointer-even...

weixin_33871366的博客 151

Qt实现全局鼠标事件监听器-Linux

Qt封装的系统全局鼠标事件监听器(Linux)

mahuifa的博客 3293

Opencv鼠标事件

Opencv中的鼠标事件,例如在界面中通过鼠标左键任意位置,显示点坐标,并将改点存储到points中,为后续使用。 定义鼠标事件: #include "opencv2/core.hpp" #include "opencv2/highgui/highgui.hpp" #include "opencv2/imgproc/imgproc.hpp" cv::Mat org,dst,img,tmp; std...

TiRan_Yang 5216

JavaScript 十种鼠标事件

1、onclick

freedomVenly的博客 3665

Java鼠标事件

鼠标事件的事件源往往与容器相关,当鼠标进入容器、离开容器,或者在容器中单击鼠标、拖动鼠标时都会发生鼠标事件。java语言为处理鼠标事件提供两个接口:MouseListener,MouseMotionListener接口。 MouseListener接口 MouseListener接口能处理5种鼠标事件:按下鼠标,释放鼠标,点击鼠标、鼠标进入、鼠标退出。相应的方法有: (1) getX()

qq_37723158的博客 2082

02Cesium中常用的鼠标事件

Cesium中常用的鼠标事件

m0_62317155的博客 1979

鼠标滚轮事件

前几天一个同学问我鼠标滚动事件。想做一个通过滚动鼠标的滚轮,来旋转导航。 查了点资料,完成了同学的问题。 不过,作为一个知识点,也记录下来,以加强印象。 鼠标滚轮事件,就是 wheel (滚轮)事件。 注:MDN(Molliza的开发者社区)不推荐使用传统的 onmousescroll 事件。作为技术强迫着患者,我也不建议用了,推荐使用 wheel 。 wheel 的事件对象有 4 个属...

九天翔龙的技术博客 1万+

JavaScript第 8 篇,JavaScript鼠标事件,Vue的鼠标事件(JS的鼠标事件)

⭐JavaScript中的鼠标事件允许你响应用户的鼠标操作,如点击、移动和滚动等。这些事件通常绑定到DOM元素上,当特定的鼠标操作发生时,就会触发相应的事件处理函数。这里来记录一下

AI Agent 全栈架构师(AI + GIS + Backend)& 数字芯片系统架构师(FPGA),NorthCity Smile的博客(NcSmile,博主域名:https://ncmile.blog.youkuaiyun.com) 4696
上一篇: 11.2 动作
下一篇: 11.4 AWT事件层次
「已注销」
博客等级 码龄10年 7粉丝 107原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值