精华内容
下载资源
问答
  • Java监听鼠标事件

    万次阅读 2012-07-12 05:21:10
    import java.awt.Container; import java.awt.event.MouseEvent; import java.awt.event.MouseListener;... * 监听鼠标事件 * 可以看出,当双击鼠标时,第一次的点击会触发一次单击事件 * @author

    package com.han;
    
    import java.awt.Container;
    import java.awt.event.MouseEvent;
    import java.awt.event.MouseListener;
    
    import javax.swing.JFrame;
    
    /**
     * 监听鼠标事件
     * 可以看出,当双击鼠标时,第一次的点击会触发一次单击事件
     * @author HAN
     *
     */
    public class MouseEvent_1 extends JFrame {
    
    	/**
    	 * 
    	 */
    	private static final long serialVersionUID = 7554087008285696671L;
    
    	public MouseEvent_1() {
    		// TODO Auto-generated constructor stub
    		Container container = getContentPane();
    		container.addMouseListener(new MouseListener() {
    
    			@Override
    			public void mouseClicked(MouseEvent e) {
    				// TODO Auto-generated method stub
    				System.out.print("单击了鼠标按键,");
    				int i = e.getButton();
    				if (i == MouseEvent.BUTTON1)
    					System.out.print("单击的是鼠标左键,");
    				if (i == MouseEvent.BUTTON2)
    					System.out.print("单击的是鼠标中键,");
    				if (i == MouseEvent.BUTTON3)
    					System.out.print("单击的是鼠标右键,");
    				int clickCount = e.getClickCount();
    				System.out.println("单击次数为" + clickCount + "下");
    			}
    
    			@Override
    			public void mousePressed(MouseEvent e) {
    				// TODO Auto-generated method stub
    				System.out.print("鼠标按键被按下,");
    				int i = e.getButton();
    				if (i == MouseEvent.BUTTON1)
    					System.out.println("按下的是鼠标左键");
    				if (i == MouseEvent.BUTTON2)
    					System.out.println("按下的是鼠标中键");
    				if (i == MouseEvent.BUTTON3)
    					System.out.println("按下的是鼠标右键");
    			}
    
    			@Override
    			public void mouseReleased(MouseEvent e) {
    				// TODO Auto-generated method stub
    				System.out.print("鼠标按键被释放,");
    				int i = e.getButton();
    				if (i == MouseEvent.BUTTON1)
    					System.out.println("释放的是鼠标左键");
    				if (i == MouseEvent.BUTTON2)
    					System.out.println("释放的是鼠标中键");
    				if (i == MouseEvent.BUTTON3)
    					System.out.println("释放的是鼠标右键");
    			}
    
    			@Override
    			public void mouseEntered(MouseEvent e) {
    				// TODO Auto-generated method stub
    				System.out.println("光标移入组件");
    			}
    
    			@Override
    			public void mouseExited(MouseEvent e) {
    				// TODO Auto-generated method stub
    				System.out.println("光标移出组件");
    			}
    			
    		});
    	}
    
    	/**
    	 * @param args
    	 */
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		MouseEvent_1 frame = new MouseEvent_1();
    		frame.setTitle("MouseEvent Test");
    		frame.setVisible(true);
    		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		frame.setBounds(0, 0, 300, 100);
    	}
    
    }
    


    展开全文
  • java 使用MouseMotionListener监听鼠标 java 使用MouseMotionListener监听鼠标
  • Java全局监听鼠标点击

    2021-06-12 22:05:42
    GlobalMouseListener.java package cxzgwing; import java.awt.*; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.*; import javax.swing.text.BadLocationException; ...

    说明

    Java全局监听鼠标点击,不管是在窗体内点击还是在窗体外点击,都能监听到。

    效果图

    GlobalMouseListener.java

    package cxzgwing;
    
    import java.awt.*;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    
    import javax.swing.*;
    import javax.swing.text.BadLocationException;
    
    import org.jnativehook.GlobalScreen;
    import org.jnativehook.NativeHookException;
    import org.jnativehook.mouse.NativeMouseEvent;
    import org.jnativehook.mouse.NativeMouseInputListener;
    import org.jnativehook.mouse.NativeMouseListener;
    import org.jnativehook.mouse.NativeMouseMotionListener;
    
    /**
     * https://github.com/kwhat/jnativehook
     */
    public class GlobalMouseListener extends JFrame implements NativeMouseInputListener {
    
        private final JTextArea info;
    
        public GlobalMouseListener() {
            info = new JTextArea();
            // 关闭日志
            Logger.getLogger(GlobalScreen.class.getPackage().getName()).setLevel(Level.OFF);
    
            setTitle("GlobalMouseListener");
            setLayout(new BorderLayout());
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            setSize(600, 300);
    
            info.setEditable(false);
            info.setBackground(new Color(0xFF, 0xFF, 0xFF));
            info.setForeground(new Color(0x00, 0x00, 0x00));
            info.setText("");
    
            JScrollPane scrollPane = new JScrollPane(info);
            scrollPane.setPreferredSize(new Dimension(375, 125));
            add(scrollPane, BorderLayout.CENTER);
    
            try {
                GlobalScreen.registerNativeHook();
            } catch (NativeHookException e) {
                e.printStackTrace();
                info.append("Error: " + e.getMessage() + "\n");
            }
            GlobalScreen.addNativeMouseListener(this);
    
            setVisible(true);
        }
    
        /**
         * @see NativeMouseListener#nativeMouseClicked(NativeMouseEvent)
         */
        public void nativeMouseClicked(NativeMouseEvent e) {
            appendDisplay(e.paramString());
        }
    
        /**
         * @see NativeMouseListener#nativeMousePressed(NativeMouseEvent)
         */
        public void nativeMousePressed(NativeMouseEvent e) {
            appendDisplay(e.paramString());
        }
    
        /**
         * @see NativeMouseListener#nativeMouseReleased(NativeMouseEvent)
         */
        public void nativeMouseReleased(NativeMouseEvent e) {
            appendDisplay(e.paramString());
        }
    
        /**
         * @see NativeMouseMotionListener#nativeMouseMoved(NativeMouseEvent)
         */
        public void nativeMouseMoved(NativeMouseEvent e) {
            appendDisplay(e.paramString());
        }
    
        /**
         * @see NativeMouseMotionListener#nativeMouseDragged(NativeMouseEvent)
         */
        public void nativeMouseDragged(NativeMouseEvent e) {
            appendDisplay(e.paramString());
        }
    
        private void appendDisplay(final String output) {
            info.append(output + "\n");
            try {
                if (info.getLineCount() > 100) {
                    info.replaceRange("", 0, info.getLineEndOffset(info.getLineCount() - 1 - 100));
                }
                info.setCaretPosition(info.getLineStartOffset(info.getLineCount() - 1));
            } catch (BadLocationException ex) {
                info.setCaretPosition(info.getDocument().getLength());
            }
        }
    
        public static void main(String[] args) {
            SwingUtilities.invokeLater(GlobalMouseListener::new);
        }
    }
    

    maven

            <!-- https://mvnrepository.com/artifact/com.1stleg/jnativehook -->
            <dependency>
                <groupId>com.1stleg</groupId>
                <artifactId>jnativehook</artifactId>
                <version>2.1.0</version>
            </dependency>

    技术点

    JNativeHook

    参考链接

    [1] kwhat.JNativeHook: Global keyboard and mouse listeners for Java..2021-03-24 12:29

    https://github.com/kwhat/jnativehook

    [2] codeday.java-如何从JNativeHook库中删除日志记录数据.2019-10-29

    http://www.cocoachina.com/articles/99009

     

     

    展开全文
  • Java鼠标监听

    2019-10-11 20:07:27
    import java.awt.Color; import java.awt.Frame; import java.awt.Label; import java.awt.TextField; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.awt.event.MouseMotio....
    
    import java.awt.Color;
    import java.awt.Frame;
    import java.awt.Label;
    import java.awt.TextField;
    import java.awt.event.MouseEvent;
    import java.awt.event.MouseListener;
    import java.awt.event.MouseMotionListener;
    import java.awt.event.WindowAdapter;
    import java.awt.event.WindowEvent;
    //第一种方法
    public class test implements MouseMotionListener,MouseListener{
        Frame f=new Frame("关于鼠标的多重监听器");//窗体
        TextField tf=new TextField(30);//文本框
        public test() {//构造方法
            Label label=new Label("请按下鼠标左键并拖动");//标签的功能只是显示文本,不能动态地编辑文本。
            f.add(label,"North");
            f.add(tf,"South");
            f.setBackground(new Color(180,255,255));
            f.addMouseListener(this);//添加一个鼠标监听
            f.addMouseMotionListener(this);
    
            f.addWindowListener(new WindowAdapter(){//添加一个窗口监听
                public void windowClosing(WindowEvent e) {//窗口关闭事件
                    System.exit(0);
                }
            });
    
            f.setSize(300,200);
            f.setLocation(400,250);//设置窗体位置
            f.setVisible(true);
        }
    
    
    
        @Override
        public void mouseClicked(MouseEvent e) {
            System.out.println("鼠标点击---"+"\t"); 
            if(e.getClickCount()==1) {
                System.out.println("单击");
            }else if(e.getClickCount()==2) {
                System.out.println("双击");
            }else if(e.getClickCount()==3) {
                System.out.println("三连击");
            }
        }
    
        @Override
        public void mousePressed(MouseEvent e) {
            System.out.println("鼠标按下");     
        }
    
        @Override
        public void mouseReleased(MouseEvent e) {
            System.out.println("鼠标松开");     
        }
    
        @Override
        public void mouseEntered(MouseEvent e) {
            tf.setText("鼠标已经进入窗体"); 
        }
    
        @Override
        public void mouseExited(MouseEvent e) {
            tf.setText("鼠标已经移出窗体");     
        }
    
        @Override
        public void mouseDragged(MouseEvent e) {
                    String str="鼠标所在的坐标:("+e.getX()+","+e.getY()+")";
                    tf.setText(str);
        }
    
        @Override
        public void mouseMoved(MouseEvent e) {
                System.out.println("鼠标移动了");    
        }
    public static void main(String[] args) {
    	new test();
    }
    }
    
    
    
    
    
    展开全文
  • java如何监听鼠标其他按键,如罗技的侧边按键,急急急,在线等,等,等,等,等,不会了
  • 控制键盘鼠标 import java.awt.AWTException; import java.awt.Robot; import java.awt.event.KeyEvent; import java.io.IOException; public class ControlKeyboard { public static void main(String[] args) { ...

    控制键盘鼠标

    import java.awt.AWTException;
    import java.awt.Robot;
    import java.awt.event.KeyEvent;
    import java.io.IOException;
    
    public class ControlKeyboard {
        public static void main(String[] args) {
            try{
                try {//创建Windows命令打开记事本
                    Runtime.getRuntime().exec("notepad");
                } catch (IOException e) {
                    e.printStackTrace();
                }
    			//创建机器人
                Robot myRobot = new Robot();
                // 打出一个大写的Q
    			myRobot.keyPress(KeyEvent.VK_SHIFT);    // 模拟键盘按下shift键
    			myRobot.keyPress(KeyEvent.VK_Q);        // 模拟键盘按下Q键(小写)
    			myRobot.keyRelease(KeyEvent.VK_Q);      // 模拟键盘释放Q键
    			myRobot.keyRelease(KeyEvent.VK_SHIFT);  // 模拟键盘释放shift键
    			// 移动鼠标到坐标(x,y)处,并点击左键
    			myRobot.mouseMove(x, y);                // 移动鼠标到坐标(x,y)处
    			// myRobot.mousePress(KeyEvent.BUTTON1_DOWN_MASK);     // 模拟按下鼠标左键
    			// myRobot.mouseRelease(KeyEvent.BUTTON1_DOWN_MASK);   // 模拟释放鼠标左键
    			// myRobot.mousePress(KeyEvent.BUTTON3_DOWN_MASK);     // 模拟按下鼠标右键
    			// myRobot.mouseRelease(KeyEvent.BUTTON3_DOWN_MASK);   // 模拟释放鼠标右键
    			// 设置每次输入的延迟为200ms
    			//myRobot.setAutoDelay(200);
            } catch (AWTException e){
                e.printStackTrace();
            }
        }
    }
    

    监听键盘

    package test1;
     
    import javax.swing.*;
    import java.awt.event.*;
     
    @SuppressWarnings("serial")
    public class KeyListenerTest extends JFrame {
    	public KeyListenerTest() {
    		MyWindow mywindow = new MyWindow();
    		this.add(mywindow);
    		this.addKeyListener(mywindow);// 注册监听器
    		this.setSize(400, 400);
    		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		this.setVisible(true);
    	}
     
    	public static void main(String[] args) {
    		new KeyListenerTest();
    	}
    }
    
    @SuppressWarnings("serial")
    class MyWindow extends JPanel implements KeyListener {
    	@Override
    	public void keyTyped(KeyEvent e) {}
     
    	// 按键监听器
    	@Override
    	public void keyPressed(KeyEvent e) {
    		System.out.println(e.getKeyChar()+"键被敲击");
    	}
     
    	// 释放监听器
    	@Override
    	public void keyReleased(KeyEvent e) {}
    }
    
    展开全文
  • Java中如何监听鼠标事件

    万次阅读 2018-04-04 15:44:50
    当点击鼠标按钮时,有三个监听器方法可以调用:①鼠标按下时调用mousePressed;②鼠标被释放时调用mouseReleased;③关注鼠标的最终点击事件时调用mouseClicked。鼠标点击可以由mouseClicked过程报告,该方法是...
  • Java Swing 键盘监听鼠标移动监听

    千次阅读 2015-01-23 11:15:40
    实现监听接口 鼠标移动要实现MouseMotionListener 如果实现MouseListener就是监听鼠标的点击释放和进入离开 一定要add listener 不然没有监听的对象,就不会有监听事件发生!
  • 今天在学习的过程中突然发现,在鼠标操作的监听器中,没有提供鼠标双击的监听器,而双击是很常用的一种操作。话不多说,直接看实现监听鼠标单击/双击的事件的监听器。
  • Java监听键盘鼠标全局事件

    千次阅读 2012-02-29 17:43:24
    标准的Java键盘事件监听器(KeyListener)和鼠标事件监听器(MouseListener)只能在该Java程序聚焦的时候监听事件。要想让你的Java程序能够在系统后台跟踪全局键盘和鼠标事件,那就需要使用JNI(Java Native Interface)...
  • #include <windows.h> #include "SysHook.h" #include <jni.h> HINSTANCEhInst = NULL; JavaVM * jvm = NULL; jobject hookObj_kb = NULL; jobject hookObj_ms = NULL; jobject g_kl = NULL; jmethodID processKeyID
  • java实现鼠标监听事件

    千次阅读 2018-04-18 09:06:06
    import java.awt.*; import java.awt.event.*; import java.util.*; public class MyMouseAdapter { public static void main(String args[]) { new MyFrame("drawing points"); } } class MyFrame ...
  • java 事件监听 - 鼠标

    2016-10-16 10:07:00
    java 事件监听 - 鼠标 //事件监听 //鼠标事件监听 //鼠标事件监听有两个实现接口 //1、MouseListener 普通的鼠标操作 //2、MouseMotionListener 鼠标的拖拽、移动 import java.awt.*; import javax.swing.*...
  • java全局鼠标键盘监听

    千次阅读 2015-09-18 21:42:35
    鼠标和键盘,这两个侦听器都有很大的限制:鼠标监听只有在鼠标位于Java程序所在的窗口范围之内才能有效,而键盘监听限制更严 格,仅当Java程序成为当前的活动窗口时才有效。很显然,单纯用Java来实现全屏幕、所有...
  • java 标签组 鼠标监听

    2015-01-07 02:35:46
    java标签组添加了鼠标监听,如何在鼠标点击时获得该标签的名字
  • 在Eclipse下使用OpenCV开发过程中,需要在弹出窗口中显示图像,并能监听鼠标点击事件。但网上一般都是用JLabel显示图片,再添加到JFrame上;但JLabel不对输入事件作出反应,无法实现需求。    为此我查遍资料,...
  • java鼠标事件监听

    千次阅读 2017-12-03 11:07:50
    addMouseListenerpublic void addMouseListener(MouseListener l)添加指定的鼠标侦听器,以接收发自此组件的鼠标事件。如果侦听器 l 为 null,则不会抛出异常并且不执行动作。 接口 MouseListener 用于接收组件上...
  • java鼠标监听器的应用

    2020-01-15 21:31:44
    java鼠标监听器的应用 思路:建立一个窗口,利用鼠标监听器来改变窗口颜色。 注意:感觉什么时候用上container都没错,还有就是鼠标监听器的5个用法,以及随机产生的颜色方法。 在这里插入代码片 public class Demo2...
  • Java swing 中鼠标监听

    2021-06-20 12:56:56
    Java swing 中鼠标选中表格中的一条数据,点击别得按钮删除怎么弄
  • Java鼠标监听

    千次阅读 2017-10-10 11:58:56
    1.按钮监听事件  JPanel jp =(JPanel) getContentPane();   jp.setLayout(new FlowLayout());   JButton jb = new JButton("点我");   jp.add(jb);   jb.addActionListener(new ActionListener() { ...
  • 监听鼠标事件MouseEvent。 相应事件和处理方法 鼠标事件 处理方法 MOUSE_CLICKED MouseClicked (MouseEvent) 鼠标点击(单或双) MOUSE_PRESSED MousePressed (MouseEvent) 鼠标按下 MOUSE_RELEASED Mouse
  • 参考狂神b站视频,希望大家多多关注狂神呀 //鼠标 public class TestMouseListener { ... //画画需要画笔 监听鼠标当前位置 需要集合存储这个点 ArrayList points; public MyFrame(String title
  • 我按网上的鼠标监听器的内部类的方法写的结构,但是不知道为什么用鼠标之后没有结果,麻烦各位大神帮我看看 新人第一次用这个提问,关于提问的方式或者表述不清楚也欢迎大家指正啊 谢谢大家!!! ...
  • java实现鼠标拖拽动作监听

    千次阅读 2015-04-07 10:02:31
    import java.awt.event.ActionEvent ; import java.awt.event.ActionListener ; import java.awt.event.WindowListener ; import java.awt.event.MouseMotionAdapter ; import java.awt.event.MouseMotionListe
  • 用到的jar包 examples.jar ...首先我们实现监听鼠标的代码如下 package getInfo; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.
  • java鼠标监听器的总结

    2012-07-10 20:41:48
    鼠标监听器是新学的一个监听器,与动作监听器不同,动作监听监听的是某一动作或者行为,而鼠标监听监听的是某一区域内鼠标的各种活动,可以用来制作画图板。动作监听器是直接加到所需监控的按钮上的,与动作监听...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 24,190
精华内容 9,676
关键字:

java监听鼠标

java 订阅