您的位置:

java鼠标事件,java鼠标事件处理原理

本文目录一览:

java鼠标双击事件怎么实现

java鼠标双击事件的实现方法

鼠标的单双击事件在很多时候对我们帮助很大,但是在JAVA中却没有给出鼠标双击事件.我们可以通过事件源e.getClickCount()==2来判断鼠标点击次数来实现鼠标双击事件,例如:

public class MyMouseListener

extends java.awt.event.MouseAdapter ...{

public void mouseClicked(MouseEvent e) ...{

System.out.println("clicked");

int clickTimes = e.getClickCount();

if (clickTimes == 2) ...{

System.out.println("Doublc Clicked!");

}

}

}

java鼠标点击事件怎么做?

java鼠标点击事件的方法如下:

span style="font-family:Verdana;"事件源/span.addMouseListener(new MouseAdapter() {//建立事件处理机制  

   @Override  

   public void mouseClicked(MouseEvent e) {  

       if(e.getButton()==e.BUTTON1){//点击鼠标左键  

           int x=e.getX();  

           int y=e.getY();  

           String str="您点击的是左键,鼠标当前点击位置的坐标是(" + x + "," + y+")";  

           label.setText(str);  

       }else if(e.getButton()==e.BUTTON2){//点击鼠标滑轮  

           int x=e.getX();  

           int y=e.getY();  

           String str="您点击的是滑轮,鼠标当前点击位置的坐标是(" + x + "," + y+")";  

           label.setText(str);   

       }  

       else if(e.getButton()==e.BUTTON3){//点击鼠标右键  

           int x=e.getX();  

           int y=e.getY();  

           String str="您点击的是右键,鼠标当前点击位置的坐标是(" + x + "," + y+")";  

           label.setText(str);       

       }  

   }  

});

e.getButton()返回值分别为NOBUTTON、BUTTON1、BUTTON2、BUTTON3,分别代表着无点击、左击、中间键、右击三种情况。

给Java初学者的建议:

1,不一定要把java学深入。有多少人搞程序是喜欢这个的,搞程序一半是因为钱多,一半是因为晋升公平。

2,初学者学java至少要脱产半年的时间才能算了解了,才适合被人带,因为至少半年的时间,才知道遇到问题如何解决,有的人需要更长的时间。现在有很多人已经有5年左右的经验了,在他们的压制下,java初学者很难有逆袭的机会了。

3,行业环境,现在数据存储,后台打包的方案的创业公司已经有苗头,也就是说,后台开发已经被集中解决,日后会越来越成熟,这就是意味着,java招聘需要有经验的人,也就是说,必须熬几年后才能有突破。

4,java离市场较远,所以呢?java开发人员很难有一个大的突破。

5,程序里面有变量所以解决了一系列类似的问题,所以注定了程序必须提供大批服务时才能有高收益。

用java写一个单击鼠标事件

使用组件的paint函数用于绘图, 使用MouseListener来响应鼠标的点击

效果图

代码

import java.awt.Color;

import java.awt.Graphics;

import java.awt.event.*;

import javax.swing.*;

public class DemoWin extends JFrame {

public DemoWin() {

MyPanel mp = new MyPanel();

mp.addMouseListener(mp);

add(mp);

// 窗口属性设置

setTitle("Demo");// 标题

setSize(300, 280);// 窗口大小

setLocationRelativeTo(null);// 窗口居中

setDefaultCloseOperation(EXIT_ON_CLOSE);// 窗口点击关闭时,退出程序

}

public static void main(String[] args) {

DemoWin win = new DemoWin(); // 创建窗口

win.setVisible(true);// 显示窗口

}

class MyPanel extends JPanel implements MouseListener {

int times;// 记录点击的次数

int x;// 记录鼠标X轴的位置

int y;// 记录鼠标Y轴的位置

@Override

public void paint(Graphics g) {

super.paint(g);

if (times == 0) {

g.setColor(Color.BLUE);// 颜色

g.fillOval(150, 150, 50, 50);// 150,150代表位置 50,50代表宽高

} else if (times == 1) {

g.setColor(Color.RED);

g.fillRect(150, 150, 50, 50);

} else {

g.setColor(Color.RED);

g.fillRect(x, y, 50, 50);

}

repaint();

}

public void mouseClicked(MouseEvent e) {

// if (e.getButton()==MouseEvent.BUTTON1) {//单击左键时有效..

// times++;// 记录点击的次数

// x = e.getX();

// y = e.getY();

// }

}

public void mousePressed(MouseEvent e) {// 鼠标按下就有效

times++;// 记录点击的次数

x = e.getX();

y = e.getY();

}

public void mouseReleased(MouseEvent e) {// 鼠标释放

}

public void mouseEntered(MouseEvent e) {// 鼠标移入

}

public void mouseExited(MouseEvent e) {// 鼠标移出

}

}

}

Java 程序实现鼠标点击 键盘等事件

这个用MouseListener里的mouseEntered(MouseEvent

e)方法。

鼠标进入区域就产生事件反应。

如果之前申明了点击事件可以在entered时间里呼叫clicked事件。

JAVA鼠标双击事件

ava 没有直接获取鼠标双击事件的方法,因此我们可以在用户每发生单击事件时延时执行,

当时间在这段时间内用户又一次发生了单击事件,那么就直接执行双击事件,取消上次的单击事件

package com.aowin.stuff.Lisnter;

import java.awt.event.MouseAdapter;

import java.awt.event.MouseEvent;

import java.util.Date;

import java.util.Timer;

import java.util.TimerTask;

public class MyMouseListener extends MouseAdapter {

private static boolean flag = false;

// 用来判断是否已经执行双击事件

private static int clickNum = 0;

// 用来判断是否该执行双击事件

@Override

public void mouseClicked(MouseEvent e) {

// final MouseEvent me = e;

MyMouseListener.flag = false;

System.out.println(clickNum);

if (MyMouseListener.clickNum == 1) {// 1时执行双击事件

System.out.println("执行双击事件");

MyMouseListener.clickNum = 0;

MyMouseListener.flag = true;

return;

}

// 定义定时器

Timer timer = new Timer();

// 定时器开始执行,延时0.2秒后确定是否执行单击事件

timer.schedule(new TimerTask() {

private int n = 0;

// 记录定时器执行次数

@Override

public void run() {

if (MyMouseListener.flag) {

MyMouseListener.clickNum = 0;

this.cancel();

return;

}

if (n == 1) {

System.out.println("执行单击事件");

MyMouseListener.flag = true;

MyMouseListener.clickNum = 0;

n = 0;

this.cancel();

return;

}

clickNum++;

n++;

System.out.println("第" + n);

System.out.println(clickNum);

}

}, new Date(), 200);

//上边的意思是,单击第一次会运行一次run方法clickNum 会加1,然后0.2秒后再执行Run方法 //如果在这0.2秒中间用户又单击了事件,那就会运行开头的双击事件

}

}