第十三周课程总结
这周主要学习了事件和监听器以及菜单组件
这周学习的内容:
1.事件和监听器
每当一个按钮按下时,实际上按钮的状态就发生了改变,那么此时就会产生一个事件,而如果要想处理此事件,则就需要事件的监听者不断的监听事件的变化,并根据这些事件进行相应的处理。
在Swing编程中,依然使用了最早AWT的事件处理方式,所有的事件类(基本上任意的一个组件都有对应的事件)都是EventObject类的子类
Java事件处理流程
(1).窗体事件
WindowListener是专门处理窗体的事件监听接口,一个窗体的所有变化,例如:窗口打开、关闭等都可以使用这个接口进行监听。
(2).监听适配器
在整个事件处理中提供了很多的Adapter(适配器)类,方便用户进行事件处理的实现,以WindowAdapter为例,用户只要继承了此类,就可以根据自己的需要覆写方法,如果现在只需要关心窗口关闭方法,则只在子类中覆写windowClosing()方法即可。
(3).动作事件及监听处理
一个按钮要想让其变得有意义,就必须使用事件处理,在Swing的事件处理中,可以使用ActionListener接口处理按钮的动作事件,ActionListener接口只定义了一个方法。
(4).键盘事件及监听处理
在Swing的事件处理中也可以对键盘的操作进行监听,直接使用KeyListener接口即可。此接口定义了如下的方法。
如果要想取得键盘键入的内容,则可以通过KeyEvent取得,此类的常用方法如下所示。
(5).鼠标事件及监听处理
如果想对一个鼠标的操作进行监听,例如,鼠标按下、松开等,则可以实现MouseListener接口
在每个事件触发后都会产生MouseEvent事件,此事件可以得到鼠标的相关操作
在一般的图形界面中经常可以看到鼠标拖拽操作的情况,在Swing的事件处理中可以使用MouseMotionListener接口可以完成鼠标的拖拽操作
2.菜单组件
(1)JMenu与JMenuBar
若在Java中实现菜单,则可以使用JMenu组件,当然,如果要使用JMenu则首先要了解JMenuBar组件,JMenuBar组件的功能是用来摆放JMenu组件,当建立完许多的JMenu组件之后,需要通过JMenuBar组件来将JMenu组件加入到窗口中
JMenuBar的常用方法
JMenu的常用方法
(2)JMenuItem
JMenuItem继承AbstractButton类,因此JMenuItem也可以理解为一种特殊的JButton组件,当选择某个菜单项时也会触发ActionEvent事件
JMenuItem类的常用方法
3.文件选择框JFileChooser
在使用记事本或者word的时候,可以通过文件选择框选择要打开或保存的文件,在Swing中可以使用JFileChooser组件实现此功能
JFileChooser类的常用方法
文件选择框的三种返回状态