java 事件监听 - 鼠标

//事件监听
//鼠标事件监听
//鼠标事件监听有两个实现接口
//1、MouseListener 普通的鼠标操作
//2、MouseMotionListener 鼠标的拖拽、移动
import java.awt.*;
import javax.swing.*;
import java.awt.event.*; public class Index extends JFrame{ //设置面板
Wdmb wdmb = new Wdmb(); public static void main(String[] args) throws Exception{
//实例化当前类
Index index = new Index(); } //自动执行
public Index(){ this.add(wdmb); //添加鼠标监听事件
this.addMouseListener(wdmb); //添加鼠标拖拽事件
this.addMouseMotionListener(wdmb); this.setSize(500,500);
this.setLocation(300,200);
this.setTitle("绘图");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
} } //面板方法
//MouseListener 鼠标监听
//MouseMotionListener 鼠标拖拽监听
class Wdmb extends JPanel implements MouseListener,MouseMotionListener{ //方法覆盖
//JPanel自带方法,下面格式是固定的
//paint 会在三种情况下自动被调用
//1、启动程序 2、窗口大小发生变化时 3、运行repaint函数时
public void paint(Graphics g){
//覆盖父类的方法
super.paint(g); } /**
* 鼠标事件
*/ //鼠标单击
public void mouseClicked(MouseEvent e){
System.out.println("鼠标点击的位置是:");
System.out.println("X坐标:"+e.getX());
System.out.println("X坐标:"+e.getY());
} //鼠标按下
public void mousePressed(MouseEvent e){
//System.out.println("鼠标被按下");
} //鼠标松开
public void mouseReleased(MouseEvent e){
//System.out.println("鼠标被松开");
} //鼠标移动到界面中
public void mouseEntered(MouseEvent e){
//System.out.println("鼠标移动到界面中");
} //鼠标从界面离开
public void mouseExited(MouseEvent e){
//System.out.println("鼠标从界面离开");
} /**
* 鼠标拖拽事件
*
*/ //鼠标拖拽
public void mouseDragged(MouseEvent e){
System.out.println("鼠标点击的位置是:");
System.out.println("X坐标:"+e.getX());
System.out.println("X坐标:"+e.getY());
} //鼠标移动
public void mouseMoved(MouseEvent e){
System.out.println("鼠标点击的位置是:");
System.out.println("X坐标:"+e.getX());
System.out.println("X坐标:"+e.getY());
} }

java 事件监听 - 鼠标的更多相关文章

  1. JAVA事件监听机制的实现

    今天学习了java的事件编程机制,略有体会,先在此记下心得. 第一,首先明确几个概念. 事件源:一个产生或者触发事件的对象.事件:承载事件源状态改变时的信息对象.事件监听器接口:实际上就是一个类,该类 ...

  2. java 事件监听 - 键盘

    java 事件监听 - 键盘 //事件监听 //键盘事件监听,写了一个小案例,按上下左右,改变圆形的位置,圆形可以移动 import java.awt.*; import javax.swing.*; ...

  3. java 事件监听 - 控件

    java 事件监听 //事件监听 //事件监听,写了一个小案例,点击按钮改变面板的颜色. import java.awt.*; import javax.swing.*; import java.aw ...

  4. java事件监听机制

    1.简单的事件监听 package demo2; /* * java事件监听机制 */ import java.awt.*; import javax.swing.*; import java.awt ...

  5. Java事件监听的四种实现方式

    1.事件对象: 一般继承自java.util.EventObject对象,由开发者自行定义. 2.事件源: 就是触发事件的源头,不同的事件源会触发不同的事件类型. 3.事件监听器: 事件监听器负责监听 ...

  6. java事件监听机制2

    今天早上的两点收获: 1.addActionListener(其中的setActionCommand函数就是要对对象进行唯一性的标记,便于消息传来后进行处理.理论上actionlistener可以全部 ...

  7. Java事件监听机制与观察者设计模式

    一. Java事件监听机制 1. 事件监听三要素: 事件源,事件对象,事件监听器 2. 三要素之间的关系:事件源注册事件监听器后,当事件源上发生某个动作时,事件源就会调用事件监听的一个方法,并将事件对 ...

  8. JAVA事件监听机制与实现

    事件监听机制的实现:参考图:事件模型_ActionEvent 为了节省资源,系统无法对某个事件进行实时的监听.故实现的机制是当发生某个事件后,处理代码将被自动运行,类似钩子一般.(回调函数) 事件有许 ...

  9. java 事件监听机制组成

    事件源(组件) 事件(Event) 监听器(Listener) 事件处理(引发事件后处理方式) 事件监听机制流程图 务必记牢: 确定事件源(容器或组件) 通过事件源对象的addXXXListener( ...

随机推荐

  1. <转>人生与最速曲线

    看完你好象发现了什么o(∩_∩)o 来源网络 来自为知笔记(Wiz)

  2. go语言文件操作,这期资料比较详细( 欢迎加入go语言群: 218160862 )

    go语言文件操作,这期资料比较详细 欢迎加入go语言群: go语言深圳群 golang深圳 218160862 点击加入 文件操作 func Open(name string) (file *File ...

  3. CLR via C# 3rd - 08 - Methods

       Kinds of methods        Constructors      Type constructors      Overload operators      Type con ...

  4. Swiper 中文API手册(share)

    本文分享自 http://www.cnblogs.com/scavengers/p/3760449.html ---------------------------华丽的分割线------------ ...

  5. The Non-Inverting Amplifier Output Resistance by Adrian S. Nastase [ Copied ]

    Source Address: http://masteringelectronicsdesign.com/the-non-inverting-amplifier-output-resistance/ ...

  6. 移动web开发和移动app开发的区分

    1.移动web开发 这部分跟web前端开发差别不大,使用的技术都是html+css+js.区别为手机浏览器是webkit的天下,pc端是IE的天 下.手机网页可以理解成pc网页的缩小版加一些触摸特性. ...

  7. java的https请求解决证书问题

    package sqr.srchSpider.utils; import java.security.SecureRandom; import java.security.cert.Certifica ...

  8. install vim

    常用命令: [0]安装vim: oee@copener:~$ sudo apt-get install vim vim-scripts vim-doc 刚安装完$HOME目录下只有两个文件:.vim/ ...

  9. c++中的内存空间不足和自定义处理内存不足

    new操作符动态分配内存时,首先它会调用对象的operator new()函数分配相应大的内存(如果对象类没有重载operator new()函数,则默认调用<new>头文件里的opera ...

  10. C++命名空间问题

    名称空间支持是一项c++特性,是用来解决在编写大型程序中不同文件(厂商)中相同变量名问题.​ 例如:有两个已经封装好的产品(类)中同时包含一个名为wanda()的函数,为了能够准确调用其中一个wand ...