-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathEventPractice.java
More file actions
144 lines (134 loc) · 3.46 KB
/
EventPractice.java
File metadata and controls
144 lines (134 loc) · 3.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
/*
* 功能:事件监听事例:演示鼠标、鼠标移动、键盘按键、窗口事件监听,注册,结果
*/
package com.bj.event;
import java.awt.*;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import javax.swing.*;
public class EventPractice extends JFrame {
//定义
MyPanels mp=null;
public static void main(String [] agrs){
EventPractice ep=new EventPractice();
}
//构造函数
public EventPractice(){
mp=new MyPanels();
this.add(mp);
this.addMouseListener(mp);
this.addKeyListener(mp);
this.addMouseMotionListener(mp);
this.addWindowListener(mp);
this.setSize(200,200);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
}
//让MyPanels知道鼠标消息,进行监听
//1、知道点击位置2、知道按键信息
//3、知道鼠标移动、拖拽 4、窗口操作
class MyPanels extends JPanel implements MouseListener,KeyListener,MouseMotionListener,WindowListener{
public void paint(Graphics g){
super.paint(g);
}
//鼠标点击
@Override
public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub
System.out.println("鼠标点击:X="+e.getX()+" Y="+e.getY());
}
//鼠标按下
@Override
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub
System.out.println("鼠标按下:");
}
//鼠标抬起
@Override
public void mouseReleased(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 mouseExited(MouseEvent e) {
// TODO Auto-generated method stub
System.out.println("鼠标退出:");
}
//按键具体键(仅仅输入字符、数字例如w s p 会被调用,其他例如F1 Delete..不会触发方法)
@Override
public void keyTyped(KeyEvent e) {
// TODO Auto-generated method stub
System.out.println("按键具体键:"+e.getKeyChar());
}
//按键按下
@Override
public void keyPressed(KeyEvent e) {
// TODO Auto-generated method stub
System.out.println("按键按下:"+e.getKeyChar());
}
//按键抬起
@Override
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub
System.out.println("按键抬起:"+e.getKeyChar());
}
//鼠标拖拽
@Override
public void mouseDragged(MouseEvent e) {
// TODO Auto-generated method stub
System.out.println("鼠标拖拽");
}
//鼠标移动
@Override
public void mouseMoved(MouseEvent e) {
// TODO Auto-generated method stub
System.out.println("鼠标移动:X="+e.getX()+" Y="+e.getY());
}
//打开窗口
@Override
public void windowOpened(WindowEvent e) {
// TODO Auto-generated method stub
System.out.println("打开窗口");
}
//窗口正关闭
@Override
public void windowClosing(WindowEvent e) {
// TODO Auto-generated method stub
System.out.println("窗口正关闭");
}
//窗口关闭
@Override
public void windowClosed(WindowEvent e) {
// TODO Auto-generated method stub
System.out.println("窗口关闭");
}
@Override
public void windowIconified(WindowEvent e) {
// TODO Auto-generated method stub
}
@Override
public void windowDeiconified(WindowEvent e) {
// TODO Auto-generated method stub
}
@Override
public void windowActivated(WindowEvent e) {
// TODO Auto-generated method stub
}
@Override
public void windowDeactivated(WindowEvent e) {
// TODO Auto-generated method stub
}
}