JAVA鼠标监听器
package howework_07;
public class Example9_10 {
public static void main(String args[]) {
WindowMouse win=new WindowMouse();
win.setTitle("处理鼠标事件");
win.setBounds(100,100,460,360);
}
}
主类
package howework_07;
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class WindowMouse extends JFrame{
JTextField text;
JButton button;
JTextArea textArea;
MousePolice police;
WindowMouse(){//在窗口的构造函数中把组件实例化
init();
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
void init() {
setLayout(new FlowLayout());//将面板的布局设置为FlowLayout,面板上增加的组件默认是按照从左到右顺序排列
text =new JTextField(8);
textArea =new JTextArea(5,28);
police =new MousePolice(); police.setJTextArea(textArea); text.addMouseListener(police);//事件源注册监听器
button =new JButton("按钮");
button.addMouseListener(police);//事件源注册监听器
//向窗口中加入组件
addMouseListener(police);
add(button);
add(text);
add(new JScrollPane(textArea));//滚动条
}
}
WindowMouse
package howework_07; import java.awt.event.MouseEvent;
import java.awt.event.MouseListener; import javax.swing.JButton;
import javax.swing.JTextArea;
import javax.swing.JTextField; public class MousePolice implements MouseListener{
JTextArea area;//文本
public void setJTextArea(JTextArea area) {
this.area=area;
}
public void mousePressed(MouseEvent e) {
area.append("\n鼠标按下,位置:"+"("+e.getX()+","+e.getY()+")");
}//JTextArea中有append(),而JTextFiled中只有setText()
public void mouseReleased(MouseEvent e) {
area.append("\n鼠标释放,位置:"+"("+e.getX()+")"+e.getY()+")");
}
public void mouseEntered(MouseEvent e) {
if(e.getSource() instanceof JButton) {
area.append("\n鼠标进入按钮,位置:"+"("+e.getX()+","+e.getY()+")");
}
if(e.getSource() instanceof JTextField)
area.append("\n鼠标进入文本框,位置:"+"("+e.getX()+","+e.getY()+")");
if(e.getSource() instanceof JTextField)
area.append("\n鼠标进入窗口,位置:"+"("+e.getX()+","+e.getY()+")");
}
public void mouseExited(MouseEvent e) {
area.append("\n鼠标退出,位置:"+"("+e.getX()+","+e.getY()+")");
}
public void mouseClicked(MouseEvent e) {
if(e.getClickCount()>=2)
area.setText("鼠标连击,位置:"+"("+e.getX()+","+e.getY()+")");
}
}
MousePolice
java中鼠标监听器的用法;
首先创建一个类来实现鼠标监听器接口,然后对鼠标监听器的各种函数进行重载,以实现相关的操作。
然后对于需要添加监听器的组件,注册监听器 ().addMouseListener( )其中第一个括号为组件,后面为鼠标监听器的一个实例化的对象。
同时要记得把各个组件和鼠标监听器添加到窗口中。
JAVA鼠标监听器的更多相关文章
- Java基础之处理事件——选项按钮的鼠标监听器(Lottery 2 with mouse listener)
控制台程序. 定义监听器类有许多方式.下面把监听器类定义为单独的类MouseHandler: // Mouse event handler for a selection button import ...
- 使用鼠标监听器,使鼠标悬停在JTable某行时背景色改变
一.需要知道的事实: 1.当鼠标悬停在JTable上时,相应的格子(cell)的渲染器(TableCellRenderer)的渲染方法(getTableCellRenererComponent)会被调 ...
- 【Java】在JTable中设置鼠标监听器,点击操作对应数据
最终效果 鼠标点击JTable中任一数据,修改相应的信息. 确定点击的行和列 package com.dao; import java.awt.event.MouseAdapter; import j ...
- JAVA鼠标屏幕绘制拖拽删除矩形
import java.awt.Cursor; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Point; ...
- java鼠标与键盘事件监听
package cn.stat.p3.windowdemo; import java.awt.Button; import java.awt.FlowLayout; import java.awt.F ...
- Java ---Listener监听器
在我们的web容器中,一直不断的触发着各种事件,例如:web应用启动和关闭,request请求到达和结束等.但是这些事件通常对于开发者来说是透明的,我们可以根据这些接口开发符合我们自身需求的功能.在w ...
- Java事件监听器的四种实现方式
自身类作为事件监听器 外部类作为事件监听器 匿名内部类作为事件监听器 内部类作为事件监听器 自身类作为事件监听器: import javax.swing.*; import java.awt.*; i ...
- Java电话监听器【精品博客】
模拟拨打电话,接听电话,挂断电话,拨打为空号,等等,这些动作用Java接口监听的方式来完成,主要是为了训练使用接口监听回调: /** * 业务场景一: * [萍萍]--->请输入手机号码进行拨打 ...
- java Web监听器实现定时发送邮件
首先介绍java定时器(java.util.Timer)有定时执行计划任务的功能,通过设定定时器的间隔时间,会自动在此间隔时间后执行预先安排好的任务(java.util. TimerTask) 由于我 ...
随机推荐
- js引入,js变量和运算符等
页面级的js不管写在页面的哪里都可以 企业项目开发要求:结构(html),样式(css),行为(js)相分离 不要既写外部js,又写内部js:如果两个都写,则外部js生效 声明多个变量时,每个变量之间 ...
- coroutine - 示例
分享流畅的python一书, coroutine 章节中的出租车仿真的例子. from collections import namedtuple import queue import random ...
- qt creator源码全方面分析(2-3)
目录 External Tool Specification Files 文件名 位置 文件格式 主要标签 描述标签 可执行规范标签 示例 External Tool Specification Fi ...
- day14 jQuery
day13-14 jQueryjQuery是对js和dom的封装,相当于一个类库使用jQuery的目的: 1:获取标签 2:修改jQuery提供的方法:http://www.php100.com/ma ...
- 一键安装php5.6.40脚本(LAMP环境)
#!/bin/bash #安装依赖软件 yum -y install libxml2-devel curl-devel libjpeg libjpeg-devel libpng libpng-deve ...
- webapi使用jwt做权限验证
考虑到很多公司目前并没有切换到.netcore,所有本文尝试使用.netframework下的webapi 首先使用Nuget 安装 jwt包 安装完成后,创建 jwt的帮助类 public clas ...
- (数据科学学习手札77)基于geopandas的空间数据分析——文件IO
本文对应代码和数据已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 在上一篇文章中我们对geopandas中的 ...
- MacBook Pro突然蓝牙突然消失
刚才想用蓝牙,发现蓝牙居然不可用,硬件信息也无法找到,分享一个方法:
- Java面试—消息队列
消息队列面试题 题目来自于中华石杉,解决方案根据自己的思路来总结而得. 题目主要如下: 1. 为什么要引入消息队列? 消息队列的引入可以解决3个核心问题: 解耦 异步 削峰 解耦 在一个项目中,如果一 ...
- dict的使用
Python字典是可变类型数据,可以存储任意对象,如字符串,数字,元组,列表等. 字典的创键 字典有键key和值value组成,使用键值对链接:,字典也称为关联数组或哈希表. dict_person ...