第十二周课程总结
本周主要学习了其他容器和事件处理
这周学习的内容:
1.JPanel
JPanel也是一种经常使用到的容器之一,可以使用JPanel完成各种复杂的界面显示。在JPanel中可以加入任意的组件,之后直接将JPanel容器加入到JFrame容器中即可显示。
2.JSplitPane
JSplitPane主要功能是分割面板,可以将一个窗体分为两个子窗体,可以是水平排列也可以是垂直排列
3.JTabbedPane
JTabbedPane是在一个面板上设置多个选项卡供用户选择
如果需要查看那方面的信息,则直接点开选项卡即可浏览,通过这种方式用户可以方便的管理自己的相关信息。
4.JScrollPane
在一般的图形界面中如果显示的区域不够大了,往往会出现滚动条以方便用户浏览,在Swing中JScrollPane的主要功能就是为显示的内容加入水平滚动条。JScrollPane主要由JViewport和JScrollBar两部分组成,前者主要是显示一个矩形的区域让用户浏览,而后者主要是形成水平或垂直的滚动条。
5.JDesktopPane与JInternalFrame
在Swing中也可以完成内部窗体的显示,即,在一个窗体可以出现多个子窗体,每一个子窗体都无法超出父窗体的区域。
JDesktopPane规定出了一个父窗体的基本形式,而JInternalFrame规定出了各个子窗体,JInternalFrame需要加入到JDesktopPane之中。
JDesktopPane类的常用方法
6.JToggleButton
JButton提供了一个按钮的基本实现,但是此按钮每次单击之后都会恢复自动弹起,如果现在希望点中一个按钮之后不在自动弹起,而是在第二次点此按钮的时候弹起,则就必须使用JToggleButton类。
JToggleButton类的常用方法
7.JTextCompoent
各个软件系统中都存在文本输入框,以方便用户输入数据,在Swing中也提供了同样的文本输入框组件,但是文本输入组件在Swing中也分为以下几类:
(1).单行文本输入组件:JTextField
如果要想实现一个单行的输入文本,可以使用JTextField组件,此类可以使用JTextComponent类的方法外,还可以使用以下的几个方法
(2).密文输入组件:JPasswordField
JTextField是使用明文方式进行数据显示的,如果现在需要将回显的内容设置成其他字符,则可以使用JPasswordField类,此类的常用方法如下所示
(3).多行文本输入组件:JTextArea
如果要想输入多行文本,则可以使用JTextArea实现多行文本的输入,此类扩展了JTextComponent类
8.事件和监听器
每当一个按钮按下时,实际上按钮的状态就发生了改变,那么此时就会产生一个事件,而如果要想处理此事件,则就需要事件的监听者不断的监听事件的变化,并根据这些事件进行相应的处理。
在Swing编程中,依然使用了最早AWT的事件处理方式,所有的事件类(基本上任意的一个组件都有对应的事件)都是EventObject类的子类
(1).窗体事件
WindowListener是专门处理窗体的事件监听接口,一个窗体的所有变化,例如:窗口打开、关闭等都可以使用这个接口进行监听。
(2).监听适配器
在整个事件处理中提供了很多的Adapter(适配器)类,方便用户进行事件处理的实现,以WindowAdapter为例,用户只要继承了此类,就可以根据自己的需要覆写方法,如果现在只需要关心窗口关闭方法,则只在子类中覆写windowClosing()方法即可。
(3).动作事件及监听处理
一个按钮要想让其变得有意义,就必须使用事件处理,在Swing的事件处理中,可以使用ActionListener接口处理按钮的动作事件,ActionListener接口只定义了一个方法。
(4).键盘事件及监听处理
在Swing的事件处理中也可以对键盘的操作进行监听,直接使用KeyListener接口即可。此接口定义了如下的方法。
如果要想取得键盘键入的内容,则可以通过KeyEvent取得,此类的常用方法如下所示。
(5).鼠标事件及监听处理
如果想对一个鼠标的操作进行监听,例如,鼠标按下、松开等,则可以实现MouseListener接口
在每个事件触发后都会产生MouseEvent事件,此事件可以得到鼠标的相关操作
在一般的图形界面中经常可以看到鼠标拖拽操作的情况,在Swing的事件处理中可以使用MouseMotionListener接口可以完成鼠标的拖拽操作