addFocusListener(FocusListener); 焦点:
焦点就是你鼠标移动到的位置,你鼠标在某一处则某一处获得焦点,鼠标移开则失去焦点。这个事件是用于捕捉鼠标焦点的:
代码示例:
运行效果:
焦点在哪个文本框哪个文本框就得到焦点,移出文本框就失去焦点。
getSource();方法是用于得到一个事件对象,这个对象包含了一个事件的所有要素。
addKeyListener(KeyListener); 键盘事件:
可以响应键盘的长按、按下、弹起事件,里面的饿getKeyCode();方法可以捕捉键盘上每一个键的代码。
当使用两个类的时候(一个类实现监听器接口,一个类实现窗口)可以利用构造器将事件源对象传递到另一个类中。
代码示例:
运行效果:
addMouseListener(MouseListener); 鼠标事件:
可以响应鼠标的点击、按下、松开、进入和移出事件。
按下 松开=点击,当鼠标点击窗口上的组件时就是一个点击事件。按着就是一次按下事件,然后松开就是一次松开事件,在鼠标箭头进入某个组件范围内时就是一次进入事件,同理将鼠标箭头移出组件范围外就是一次移出事件。
代码示例:
运行效果:
有趣的小实验:
可以在响应进入事件的方法里使用随机数来更改组件的坐标位置。这样鼠标碰到那个组件,那个组件就会马上跑开。
代码示例:
运行效果:
addMouseMotionListener(MouseMotionListener); 鼠标移动:
可以响应鼠标的拖拽和移动动作的事件,可以利用里面的方法捕捉鼠标在窗口的上坐标位置,和拖拽时鼠标所在的位置。
代码示例:
运行效果:
按钮会跟着鼠标走,是因为写在Move方法里的代码,所以按钮的坐标是跟着鼠标的坐标一起变动的打印鼠标移动和拖拽时的坐标位置:
addMouseWheelListener(MouseWheelListener); 鼠标滚轴:
用于处理鼠标的滚轮事件,例如可以捕捉滚轴转动的速度。
代码示例:
运行效果:
往上滚动就是负数,往下滚动就是正数,滚动的速度越快,显示出来的数字就会越大。