一、监听器
窗体 面板:
鼠标监听
按钮 菜单
动作监听器
滑杆
状态改变监听器
窗体程序:
键盘监听器 : 界面上有其他的组件,考虑将焦点设置到主窗体上
二、事件对象
每个重写的方法中都带有一个参数**Event
当我们在界面上发生一系列事情时,系统底层会将事情的相关信息打包传入方法中
每个参数事件对象都可以用来获取当前事件的信息:
ActionEvent: 获取按钮 菜单上的文字 以及 按钮 菜单的对象引用
MouseEvent: 获取 鼠标操作时的坐标,左键 右键 中健 点击次数
KeyEvent: 获取键盘按下时的 按键信息
ChangeEvent: 获取滑杆的具体数值
三、监听器使用步骤:
1:创建一个类实现监听器
2: 实现重写接口中所有的方法
3:在界面类中创建监听类的对象
4:所有的组件调用各自对应的监听器添加方法添加这个对象
四、不同监听器的实际应用
键盘监听器(KeyListener)
运行效果:
界面的焦点问题:
当“监听器”界面加入了两个按钮之后,发现按下空格并不会弹出弹窗,而是按钮有反应,原因是界面的焦点在按钮上,焦点会自动锁定
设置焦点:
UIListener中的代码:
运行效果:
2.滑杆的使用:
添加滑杆并给滑杆添加监听器:
为了更加直观这里我输出了获取滑杆的数据
在移动滑杆的时候就能看到输出了滑杆的数据,在变化
用滑杆画图:
引入画笔
在监听器内引用传递
在ChangeListener中画圆
注:这里的e.getSource获取的是一个Object类型的对象,需要转成滑杆类型(JSlider)才可以调用getValue。
运行效果:(要滑动滑杆)
改变数值会有不同的效果:
用滑杆设置颜色:
运行效果:
3.菜单
运行效果:(点开菜单1会有菜单项1)
模仿电脑程序:按下右键出菜单:
运行效果: