首页 > 其他分享 >lesson11:鼠标监听事件-绘点

lesson11:鼠标监听事件-绘点

时间:2023-10-13 16:24:05浏览次数:33  
标签:MyFrame11 鼠标 void 绘点 lesson11 import new public

 

 

package com.zym.lesson11;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.ArrayList;
import java.util.Iterator;

//测试鼠标监听事件
public class TestMouseListener {

    public static void main(String[] args) {
          new MyFrame11("lesson11:鼠标监听事件-绘点");
    }
}

class MyFrame11 extends JFrame{

    ArrayList points;
    //1 画笔   2鼠标位置  3 需要集合来存储这些点
   public MyFrame11(String title){
         super(title);
         setBounds(100,100,400,200);
       //存鼠标坐标点
       points=new ArrayList();
       //添加鼠标监听器
       this.addMouseListener(new Zym_MouseListener());

       //设置可见
       setVisible(true);

       addWindowListener(new WindowAdapter() {
                             //窗体关闭时做的事
                             @Override
                             public void windowClosing(WindowEvent e) {
                                 // super.windowClosed(e);
                                 System.exit(0);
                             }
                         }
       );

   }


    @Override
    public void paint(Graphics g) {
       //实现画点的类

        Iterator iterator=points.iterator();
        while (iterator.hasNext()){
           Point point= (Point) iterator.next();
           g.setColor(Color.RED);
           g.fillOval(point.x,point.y,10,10);
        }

    }

    //添加点到界面上来 ,添加类
    public void addPaint(Point p){

      points.add(p);
    }


    //适配器模式 ,监听器类
    private class Zym_MouseListener extends MouseAdapter {
       //鼠标点击  鼠标按住  鼠标弹起

        @Override
        public void mousePressed(MouseEvent e) {
            MyFrame11 myFrame11=(MyFrame11) e.getSource();
            //获得当前鼠标的点
            myFrame11.addPaint(new Point(e.getX(),e.getY()));
            //每次点击鼠标,需要它重画一遍
            myFrame11.repaint();
        }

    }


}

  

 

标签:MyFrame11,鼠标,void,绘点,lesson11,import,new,public
From: https://www.cnblogs.com/zym97816/p/17762412.html

相关文章

  • 《最新出炉》系列初窥篇-Python+Playwright自动化测试-20-处理鼠标拖拽-下篇
    1.简介上一篇中,宏哥说的宏哥在最后提到网站的反爬虫机制,那么宏哥在自己本地做一个网页,没有那个反爬虫的机制,谷歌浏览器是不是就可以验证成功了,宏哥就想验证一下自己想法,其次有人私信宏哥说是有那种类似拼图的验证码如何处理。于是写了这一篇文章,另外也是相对前边做一个简单的总结......
  • 《最新出炉》系列初窥篇-Python+Playwright自动化测试-18-处理鼠标拖拽-上篇
    1.简介本文主要介绍两个在测试过程中可能会用到的功能:在selenium中宏哥介绍了Actions类中的拖拽操作和Actions类中的划取字段操作。例如:需要在一堆log字符中随机划取一段文字,然后右键选择摘取功能。playwright同样可以实现元素的拖拽和释放的操作。2.拖拽操作鼠标拖拽操作,顾名......
  • 伪类选择器(实现鼠标悬浮字体变色效果)
    链接框与文本框:实现鼠标悬浮变色效果a:link{/*访问之前的状态*/color:red;}a:hover{/*鼠标悬浮态*/color:aqua;}a:active{/*鼠标点击不松开的状态:激活态*/color:black;......
  • 解决方案 | 罗技无线鼠标同型号如何重新对码,罗技鼠标接收器丢了怎么办?
    问题 有一个罗技m185鼠标,但是鼠标的usb接收器丢了,如何解决。解决方法①找一个同品牌,同型号(M185)的鼠标接收器,没有的话可以网上(闲鱼或者tb)买一个接收器,大概10元。(注意不同品牌以及同品牌的不同型号之间一般是无法对码的不用试了);②下载Logitech连接实用程序(适用于非优联的鼠......
  • 实时显示鼠标当前rgb颜色值
    Loop{function_get_RGB()Sleep200}function_get_RGB(){MouseGetPos,MouseX,MouseYPixelGetColor,color,%MouseX%,%MouseY%;输出的是bgrSetFormat,Integer,d;ToolTip,%Asc(substr(color,3,2)),%red_hex%a1:=substr(......
  • 使用Windows API中键盘、鼠标监控钩子
    本节将介绍如何使用WindowsAPI中的SetWindowsHookEx和RegisterHotKey函数来实现键盘鼠标的监控。这些函数可以用来设置全局钩子,通过对特定热键挂钩实现监控的效果,两者的区别在于SetWindowsHookEx函数可以对所有线程进行监控,包括其他进程中的线程,而RegisterHotKey函数只能对当前......
  • Debian12 vim中鼠标不能复制解决办法
    前奏rambo@debian:~$cat/etc/issueDebianGNU/Linux12\n\l解决#没有该文件则新建rambo@debian:~$sudovim/etc/vim/vimrcletskip_defaults_vim=1ifhas('mouse')setmouse-=aendif#保存并退出,一切都将恢复如果不想更改全局配置,应将这些更改放......
  • Mac识别不了罗技鼠标(罗技SPK7214)
    遇到的问题:识别不了解决方案:下载LogiMgr链接:https://pan.baidu.com/s/1nMKnDDl-RsKrRi1oGjmo3w提取码:w2cp打开App,拔插下鼠标USB要是还是没反应,重启下电脑再试试我电脑识别到鼠标后,LogiMgr页面还是跟上面的一样。不过无关紧要了,解决了问题就行了......
  • [vue]在鼠标点击处,画点,并弹窗显示两个点的距离
    <template><divclass="sandbox"><divclass="road"@click="handleClick($event)"><divv-for="(point,pointIndex)inmarkPoints":key="pointIndex......
  • python提取论文图片波形数据:pyautogui键盘移动鼠标,跨模块全局变量使用,cv2局部放大窗口
    最近写了一个python提取论文图片波形数据的脚本,代码如下。涉及新知识点:pyautogui键盘移动鼠标,跨模块全局变量使用,cv2局部放大窗口,matplotlib图片在pyQT5lable显示,坐标变换,多线程同时使用。搜索相关关键字去对应代码区看注释就可以了。gui窗口:1#-*-coding:utf-8-*-2......