mouse_event

简介

所有组件都能发出鼠标事件,MouseEvent类负责捕获鼠标事件,可以通过为组件添加实现了MouseListener接口的监听器类来处理相应的鼠标事件。

MouseListener接口共有5个抽象方法,分别在光标移入或移出组件时、鼠标按键被按下或释放时和发生单击事件时被触发。所谓单击事件,就是按键被按下并释放。

注意:如果按键是在移出组件之后才被释放,则不会触发单击事件。

当双击鼠标时,第一次单击单击鼠标将触发第一次单击事件。(也就是先会输出第一次,在输出第二次)

public interface MouseListener extends EventListener{

public void mouseReleased(MouseEvent e);//鼠标按键被释放是被触发

public void mousePressed(MouseEvent e);//鼠标按键被按下时被触发

public void mouseExited(MouseEvent e);//光标移除组件时被触发

public void mouseEntered(MouseEvent e);//光标移入组件时被触发

public void mouseClicked(MouseEvent e);//发生单击事件时被触发

}

常用方法

当需要判断触发此次事件的按键时,可以通过静态常量判断由 getButton() 方法返回的 int 型值代表的键:

import java.util.*;

import java.awt.*;

import java.awt.event.*;

import java.io.*;

import javax.swing.*;

public class t3 extends JFrame{

private static final long serialversionuid = 1L;

public t3() {

settitle("Hern");

setBounds(400, 400, 400, 400);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

final JLabel label = new JLabel();

label.setText("请用鼠标点击");

label.addMouseListener(new MouseListener() {

@Override

public void mouseReleased(MouseEvent e) {//鼠标按键被释放时被触发

// TODO Auto-generated method stub

System.out.println("鼠标按键被释放,");

int i = e.getButton(); //通过该值可以判断释放的是哪个键

if (i == MouseEvent.BUTTON1) {

System.out.print("释放了鼠标左键");

}else if(i == MouseEvent.BUTTON2) {

System.out.println("释放了鼠标滚轮");

}else if(i == MouseEvent.BUTTON3){

System.out.println("释放了鼠标右键");

}

}

@Override

public void mousePressed(MouseEvent e) {//鼠标按键被按下时被触发

// TODO Auto-generated method stub

System.out.print("鼠标按键被按下,");

int i = e.getButton(); // 通过该值可以判断按下的是哪个键

if(i == MouseEvent.BUTTON1) {

System.out.print("按下了鼠标左键");

}else if(i == MouseEvent.BUTTON2) {

System.out.print("按下了鼠标滚轮");

}else if(i == MouseEvent.BUTTON3) {

System.out.print("按下了鼠标右键");

}

}

@Override

public void mouseExited(MouseEvent e) {//光标移出组件时被触发

// TODO Auto-generated method stub

System.out.println("光标移除组件");

}

@Override

public void mouseEntered(MouseEvent e) {//光标移入组件时被触发

// TODO Auto-generated method stub

System.out.println("光标移入组件");

}

@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("单击的是鼠标左键,");

}else if (i == MouseEvent.BUTTON2) {

System.out.print("单击的是鼠标滚轮,");

}else if (i == MouseEvent.BUTTON3) {

System.out.print("单击的是鼠标右键,");

}

int clickCount = e.getClickCount();//获取单击按键的次数

System.out.println("单击次数为" + clickCount + "下");

}

});

add(label);

setVisible(true);

}

public static void main(String[] args) {

// TODO Auto-generated method stub

t3 test = new t3();

}

}

相关阅读

此周是做项目做一个java的养成类的小游戏我是用控制台写的小游戏建了很多的UI地图,部分代码,然后让我们来看实现的样子:好啦,部分内容

file的这几个取得path的方法各有不同,下边说说详细的区别概念上的区别:(内容来自jdk,个人感觉这个描述信息,只能让明白的人明白,不明白

1.DOM方式解析XMLDom解析是将xml文件全部载入到内存,组装成一颗dom树,然后通过节点以及节点之间的关系来解析xml文件,与平台无关,ja

今天整理了下面试中会经常出现的一些问题。

1.线程的几种状态和相互的转换?

回答要点:

1)线程有5中状态,分别是: 创建 就绪 运行 阻塞

微信公众号:一个优秀的废人如有问题或建议,请后台留言,我会尽力解决你的问题。

简介

本书一共包含 90 个条目,每个条目讨论 Java 程序

java mouseevent_「mouse_event」Java MouseEvent类(鼠标事件) - seo实验室相关推荐

  1. Java MouseEvent类鼠标事件详解

    简介 所有组件都能发出鼠标事件,MouseEvent类负责捕获鼠标事件,可以通过为组件添加实现了MouseListener接口的监听器类来处理相应的鼠标事件. MouseListener接口共有5个抽 ...

  2. java expected_「expected」JAVA常见错误之 expected - seo实验室

    expected 例1:public class line1{ int test1=666; line2 l2=new line2(); l2.ShowIt(test1); } 例2:public c ...

  3. 利用python画分形图_「分形」python简单的分形图片 - seo实验室

    分形 康托集 # 康托集 import pygame pygame.init() screen = pygame.display.set_caption('康托集') screen = pygame. ...

  4. cookiejar包_「cookiejar」http.cookiejar库之CookieJar - seo实验室

    cookiejar cookiejar和HTTPCookieProcessor 我们在使用爬虫的时候,经常会用到cookie进行模拟登陆和访问.在使用urllib库做爬虫,我们需要借助http.coo ...

  5. Supplier JAVA_「supplier」java1.8之supplier理解 - seo实验室

    supplier supplier也是是用来创建对象的,但是不同于传统的创建对象语法:new,看下面代码: public class TestSupplier { private int age; T ...

  6. android seekto实现_「seekto」android MediaPlayer 的SeekTo 方法 - seo实验室

    seekto Android使用 mediaplayer 播放video视频过程中, 当用户退出当前播放,再从后台恢复播放时,需要跳转到之前退出的时间点继续播放. 使用的方法基本都是 seekto 之 ...

  7. jvm 系列(九):如何优化 Java GC 「译」

    本文由CrowHawk翻译,地址:如何优化Java GC「译」,是Java GC调优的经典佳作. Sangmin Lee发表在Cubrid上的"Become a Java GC Expert ...

  8. jvm系列(十):如何优化Java GC「译」

    本文由CrowHawk翻译,地址:如何优化Java GC「译」,是Java GC调优的经典佳作. Sangmin Lee发表在Cubrid上的"Become a Java GC Expert ...

  9. 「问题解决」java web项目打成jar包运行后工具类无法读取模板文件的解决方法

    介绍语 本号主要是Java常用关键技术点,通用工具类的分享:以及springboot+springcloud+Mybatisplus+druid+mysql+redis+swagger+maven+d ...

最新文章

  1. Console-算法-冒泡排序法|倒水法
  2. Leangoo看板工具做投诉问题处理流程
  3. mysql 返回的查询结果为空 (即零行)._Mysql数据同步(单向)
  4. 1.内存优化(一)内存泄漏
  5. BitMap算法应用:Redis队列滤重优化
  6. node.js 针对不同的请求路径(url) 做出不同的响应
  7. 尝试从远程计算机访问Web服务不显示调用按钮
  8. Java-虚拟机-常量池的表现方式
  9. php date()时间不对,PHP DATE( )函数与系统时间差8小时解决办法
  10. Mybatis插入postgresql数据库中类型为UUID的字段
  11. 敏捷个人:免费下载【敏捷个人 –认识自我、管理自我 V0.2.pdf】
  12. web前端面试题-1
  13. ebyte Lora 转 4G 透传通讯测试
  14. Spark程序编译报错error: object apache is not a member of package org
  15. 嵌入式linux/鸿蒙开发板(IMX6ULL)开发(二十四)具体单板的GPIO操作方法
  16. web前端开发10大战略性技术蓝图
  17. 【软件安装】MySQL8.0安装图文教程及可视化工具Navicat安装
  18. vivado的使用技巧整理
  19. 【0805作业】继承Thread类创建线程,输出20次数字,“你好”,线程名
  20. 马斯洛提出动机理论_科普 | 马斯洛需求理论 #2

热门文章

  1. 头歌--Java入门 - 数组进阶
  2. 《Vue.js实战》读书笔记
  3. 关于嵌入式开发工程师的那些事(持续更新)
  4. 计算机组成原理-计算机系统概述
  5. Python实战项目:打乒乓(源码分享)(文章较短,直接上代码)
  6. 浅析μC/OS-Ⅱ设备驱动的设计与实现
  7. VMware CentOS7克隆虚拟机并设置网络
  8. 【四】阿里云域名的注册、解析、备案-注册篇
  9. JS -- base64实现图片下载功能
  10. 业务创新和技术创新的关系