Java实现Windows、Mouse监听器

1、通过实现WindowListener接口来实现Windows监听器:

 1 import java.awt.event.WindowEvent;
 2 import java.awt.event.WindowListener;
 3
 4 import javax.swing.JFrame;
 5
 6 public class WindowsListenerFrame extends JFrame implements WindowListener  {
 7
 8     public WindowsListenerFrame() {
 9         this.setTitle("窗体事件");
10         setSize(600, 400);
11         setResizable(false);
12         setLocationRelativeTo(null);
13
14         this.addWindowListener(this);
15     }
16
17     public static void main(String[] args) {
18         JFrame frame = new WindowsListenerFrame();
19         frame.setVisible(true);
20     }
21
22     @Override
23     public void windowActivated(WindowEvent event) {
24     }
25
26     @Override
27     public void windowClosed(WindowEvent arg0) {
28     }
29
30     @Override
31     public void windowClosing(WindowEvent arg0) {
32         this.dispose();
33     }
34
35     @Override
36     public void windowDeactivated(WindowEvent arg0) {
37     }
38
39     @Override
40     public void windowDeiconified(WindowEvent arg0) {
41     }
42
43     @Override
44     public void windowIconified(WindowEvent arg0) {
45     }
46
47     @Override
48     public void windowOpened(WindowEvent arg0) {
49     }
50 }

2、通过实现WindowAdapter接口来实现Windows监听器:

 1 import java.awt.event.WindowAdapter;
 2 import java.awt.event.WindowEvent;
 3 import java.awt.event.WindowListener;
 4 import javax.swing.JFrame;
 5
 6 public class WindowAdapterFrame extends JFrame{
 7     public WindowAdapterFrame() {
 8         setTitle("窗体适配器");
 9         setSize(600, 400);
10         setResizable(false);
11
12         WindowListener listener =new WindowAdapter() {
13             @Override
14             public void windowClosing(WindowEvent e) {
15                 dispose();
16             }
17         };
18         this.addWindowListener(listener);
19     }
20     public static void main(String[] args) {
21         JFrame frame=new WindowAdapterFrame();
22         frame.setVisible(true);
23     }
24 }

3、通过实现MouseListener、MouseMotionListener接口来实现Mouse监听器:

 1 import java.awt.BorderLayout;
 2 import java.awt.Container;
 3 import java.awt.event.MouseEvent;
 4 import java.awt.event.MouseListener;
 5 import java.awt.event.MouseMotionListener;
 6
 7 import javax.swing.JFrame;
 8 import javax.swing.JLabel;
 9
10 public class MouseListenerFrame extends JFrame implements MouseListener, MouseMotionListener{
11     JLabel lblStatus=null;
12     public MouseListenerFrame() {
13         setTitle("MouseListener");
14         setSize(600, 400);
15         setDefaultCloseOperation(EXIT_ON_CLOSE);
16         setResizable(false);
17
18         Container container =this.getContentPane();
19         lblStatus=new JLabel();
20         container.add(BorderLayout.SOUTH, lblStatus);
21
22         container.addMouseListener(this);
23         container.addMouseMotionListener(this);
24     }
25     /**
26      *  值得注意的是String.format()方法的调用格式,是用","来隔开各个参数
27      */
28     @Override
29     public void mouseClicked(MouseEvent event) {
30         String msg=String.format("鼠标点击[%d, %d]",event.getX(),event.getY());
31         lblStatus.setText(msg);
32     }
33     @Override
34     public void mousePressed(MouseEvent e) {
35         String button=null;
36         if(MouseEvent.BUTTON1==e.getButton()) {
37             button="左键";
38         }else if(MouseEvent.BUTTON2==e.getButton()) {
39             button="滚轮";
40         }else if(MouseEvent.BUTTON3==e.getButton()) {
41             button="右键";
42         }
43         String msg=String.format("鼠标 %s 按下[%d,%d]",button,e.getX(),e.getY());
44         lblStatus.setText(msg);
45     }
46     @Override
47     public void mouseReleased(MouseEvent e) {
48         String msg=String.format("鼠标释放[%d,%d]",e.getX(),e.getY());
49         lblStatus.setText(msg);
50     }
51     @Override
52     public void mouseEntered(MouseEvent e) {
53         String msg=String.format("鼠标进入[%d,%d]",e.getX(),e.getY());
54         lblStatus.setText(msg);
55     }
56     @Override
57     public void mouseExited(MouseEvent e) {
58         String msg=String.format("鼠标退出[%d,%d]",e.getX(),e.getY());
59         lblStatus.setText(msg);
60     }
61     @Override
62     public void mouseDragged(MouseEvent e) {
63         String msg=String.format("鼠标拖动,当前坐标 [%d,%d]",e.getX(),e.getY());
64         lblStatus.setText(msg);
65     }
66     @Override
67     public void mouseMoved(MouseEvent e) {
68         String msg=String.format("鼠标移动,当前坐标 [%d,%d]",e.getX(),e.getY());
69         lblStatus.setText(msg);
70     }
71     public static void main(String[] args) {
72         JFrame frame=new MouseListenerFrame();
73         frame.setVisible(true);
74     }
75 }

4、通过实现KeyListener接口来实现Key监听器:

 1 import java.awt.BorderLayout;
 2 import java.awt.Container;
 3 import java.awt.event.KeyEvent;
 4 import java.awt.event.KeyListener;
 5
 6 import javax.swing.JFrame;
 7 import javax.swing.JLabel;
 8 import javax.swing.JTextArea;
 9
10 public class KeyListenerFrame extends JFrame implements KeyListener {
11     // 1. 属性
12     JLabel lblStatus = null;
13
14     // 2. 方法
15     public KeyListenerFrame() {
16         this.setTitle("鼠标事件");
17         setSize(600, 400);
18         setResizable(false);
19         setLocationRelativeTo(null);
20         setDefaultCloseOperation(EXIT_ON_CLOSE);
21
22         Container contentPane = this.getContentPane();
23
24         lblStatus = new JLabel();
25         contentPane.add(BorderLayout.SOUTH, lblStatus);
26
27         JTextArea txaEdit = new JTextArea();
28         contentPane.add(BorderLayout.CENTER, txaEdit);
29
30         txaEdit.addKeyListener(this);
31     }
32
33     public static void main(String[] args) {
34         JFrame frame = new KeyListenerFrame();
35         frame.setVisible(true);
36     }
37
38     @Override
39     public void keyPressed(KeyEvent event) {
40         lblStatus.setText("键盘按下: " + event.getKeyChar() + "(" + event.getKeyCode() + ")");
41     }
42
43     @Override
44     public void keyReleased(KeyEvent event) {
45         lblStatus.setText("键盘放开: " + event.getKeyChar() + "(" + event.getKeyCode() + ")");
46     }
47
48     @Override
49     public void keyTyped(KeyEvent event) {
50         lblStatus.setText("键盘敲击: " + event.getKeyChar() + "(" + event.getKeyCode() + ")");
51     }
52 }

原文地址:https://www.cnblogs.com/LJHAHA/p/10210886.html

时间: 2024-10-07 11:12:06

Java实现Windows、Mouse监听器的相关文章

Java读写Windows共享文件夹 .

版权声明:本文为博主原创文章,未经博主允许不得转载. 项目常常需要有访问共享文件夹的需求,例如共享文件夹存储照片.文件等.那么如何使用Java读写Windows共享文件夹呢? Java可以使用JCIFS框架对Windows共享文件夹进行读写,就这个框架可以让我们像访问本地文件夹一下访问远程文件夹. JCIFS的网址: http://jcifs.samba.org/ JCIFS是使用纯Java开发的一个开源框架,通过smb协议访问远程文件夹.该框架同时支持Windows共享文件夹和Linux共享文

Spark+ECLIPSE+JAVA+MAVEN windows开发环境搭建及入门实例【附详细代码】

http://blog.csdn.net/xiefu5hh/article/details/51707529 Spark+ECLIPSE+JAVA+MAVEN windows开发环境搭建及入门实例[附详细代码] 标签: SparkECLIPSEJAVAMAVENwindows 2016-06-18 22:35 405人阅读 评论(0) 收藏 举报  分类: spark(5)  版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 前言 本文旨在记录初学Spark时,根据官网快速

Java调用Windows命令

Java调用Windows命令主要用到两个类: java.lang.Runtime 每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接.可以通过 getRuntime 方法获取当前运行时.应用程序不能创建自己的 Runtime 类实例. java.lang.Process ProcessBuilder.start() 和 Runtime.exec 方法创建一个本机进程,并返回 Process 子类的一个实例,该实例可用来控制进程并获取相关信息.Proce

并行计算大作业之多边形相交(OpenMP、MPI、Java、Windows)

***************************************转载请注明出处:http://blog.csdn.net/lttree******************************************** 吐槽: 话说,相当郁闷,2015年,第一次打开博客,准备总结一下这一年.. 结果博客被封了= =! 今天,终于解封了,换了密码,换了密保.... 但是,写回顾的激情有点退散了.. 明后两天要上课,明天还要验收一个综合设计大作业,再后两天要考试,再后两天继续上课,

Java JDK8 Windows XP安装与“无... RegDeleteKeyExA 于... ADVAPI32.dll”的解决

[jdk-8u5-windows-i586.exe] Java JDK8 Windows XP安装与"无... RegDeleteKeyExA 于... ADVAPI32.dll"的解决 在Java JDK8安装时,我的Windows XP报"无... RegDeleteKeyExA 于... ADVAPI32.dll"错,原来是对于Windows XP不再支持了,只能手动安装. http://blog.163.com/fan_ya/blog/static/1177

java查看windows的磁盘空间大小信息

原文:java查看windows的磁盘空间大小信息 代码下载地址:http://www.zuidaima.com/share/1550463266294784.htm 可以通过java的File对象得到磁盘的总空间大小,剩余空间大小,以及已用空间大小. package com.zuidaima.util.file; import java.io.File; public class FreeDiskSpace { public static void main(String[] args) {

java调用windows的wmi获取设备性能数据

java调用windows的wmi获取监控数据(100%纯java调用windows的wmi获取监控数据) 转:http://my.oschina.net/noahxiao/blog/73163 纯java主要体现在可以跨平台调用com.所用的是j-Interop,它是100%纯java实现的com的调用 1.环境准备 a.windows要开启Remote Registry与Windows Management Instrumentation服务 b.修改安全策略 我系统是英文的,如果是中文系统

【J2SE】java仿windows记事本

基于J2SE实现的一个记事本程序. 运行程序截图: 工程目录结构: 程序代码: package com.hblg; import java.awt.BorderLayout; import java.awt.FileDialog; import java.awt.Font; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.aw

Java 修改Windows注册表,以实现开机自启动应用程序。

使用Java修改Windows注册表,使用最基本的就是cmd命令. 事例和运行结果如下所示: package day01; import java.io.IOException; /* 1,reg add 将新的子项或项添加到注册表中 语法:reg add KeyName [/v EntryName|/ve] [/t DataType] [/s separator] [/d value] [/f] 参数 KeyName 指定子项的完全路径.对于远程计算机,请在\\ComputerName\Pat