Java中的鼠标和键盘事务 1、使用MouseListener砌词措置鼠标事务7 ^) E. g1 Y i3 d+ o2 k+ p
鼠标事务有5种:按下鼠标键,释放鼠标键,点击鼠标键,鼠标进入和鼠标退出
4 H4 I) I( G! r/ Z4 B 鼠标事务类型是MouseEvent,首要体例有:1 c3 G" ~+ A9 M4 G3 u( M7 W
getX(),getY() 获取鼠标位置
: A6 H- R% W) ~ getModifiers() 获取鼠标左键或者右键0 u3 k5 O; z4 g* I8 H
getClickCount() 获取鼠标被点击的次数
8 Z0 {' s4 |$ H2 B+ V6 A* m getSource() 获取鼠标发生的事务源5 y' J/ Y& e! F# H, a% K( L
事务源获得看管器的体例是addMouseListener(),移去看管器的体例是removeMouseListener()
7 \2 F! E5 D6 m: I 措置事务源发生的时刻的事务的接口是MouseListener 接口中有如下的体例8 e; r7 m6 g0 n& q
mousePressed(MouseEvent) 负责措置鼠标按下事务
' ~# l- m; Z5 u5 r& h: c6 F9 q. D mouseReleased(MouseEvent) 负责措置鼠标释放事务
' T) L2 n* y: a% W4 `" | mouseEntered(MouseEvent) 负责措置鼠标进入容器事务
- l6 G4 j& K- v+ G [5 C. z! C mouseExited(MouseEvent) 负责措置鼠标分开事务
2 |- |3 j/ z& H6 T2 m mouseClicked(MouseEvent) 负责措置点击事务: F4 r7 T# ~! U0 \! `" E
2、使用MouseMotionListener接口措置鼠标事务2 Y! J* B6 s1 S+ u' R
事务源发生的鼠标事务有2种:拖动鼠标和鼠标移动
) d6 a! l' L1 I- n# y 鼠标事务的类型是MouseEvent
6 ^- q# r# X% w8 A2 N; d 事务源获得看管器的体例是addMouseMotionListener()
- p C* X( U" z( \1 K( I1 ]$ L 措置事务源发生的事务的接口是MouseMotionListener 接口中有如下的体例1 R L* h7 o1 N2 Y
mouseDragged() 负责措置鼠标拖动事务0 r& A# `+ b& C/ }: R, j. Y
mouseMoved() 负责措置鼠标移动事务" X9 {0 Z6 ^0 _6 T% m; m% k) X
3、节制鼠标的指针外形7 X$ R. T5 K0 l: Q$ E+ }: Y' p
setCursor(Cursor.getPreddfinedCursor(Cursor.鼠标外形界说)) 鼠标外形界说见(书 P 210)
; d' F2 g/ r" {% d$ l8 Z( `, d 4、键盘事务
; c; D& j2 _7 }& |% c 键盘事务源使用addKeyListener 体例获得看管器: E- `" k r6 q
键盘事务的接口是KeyListener 接口中有3个体例
1 {7 E l2 ^0 z" A public void keyPressed(KeyEvent e) 按下键盘按键
& G2 @* |0 R$ c0 C& Y" k4 G public void keyReleased(KeyEvent e) 释放键盘按键
' i2 ]' f [# }! r! {! o public void keyTypde(KeyEvent e) 按下又释放键盘按键
& F+ q' Y- N3 P9 L package mouseenvent;4 [2 w* [# F8 y, I7 m% n1 A! ]
import java.awt.*;
) A1 f; w# J7 |$ v$ A' U import javax.swing.*;
; I& ]* K8 x: i/ f3 P import java.awt.event.*;
9 x: Q; _' S7 k- ] public class Mouse extends JFrame implements MouseListener{* q6 j: X; c& t1 i
JPanel jp = new JPanel();8 a; {, K3 I3 o( |) s* U
JLabel statusbar = new JLabel();
; f% I, n# W7 W$ C. y* Z4 q P5 L6 B static final long serialVersionUID=0; |