1、Border布局管理器
Border布局管理器为在一个Panel或Window中放置组件提供一个更复杂的方案。Border布局管理器包括五个明显的区域:东、南、西、北、中。
当窗口缩放时,按钮相应的位置不变化,但其大小改变。
BorderLayout是Frame类的默认布局管理器,如不指定组件的加入部位,则默认加入到Center区域。
每个区域只能加入一个组件,如加入多个,则先前加入的组件会被遗弃。
2、布局管理器总结
Frame是一个顶级窗口,缺省布局管理器为BorderLayout。
Panel无法单独显示,必须添加到某个容器中,缺省布局管理器是FlowLayout,当把Panel作为一个组件添加某个容器后,该Panel仍可有自已的布局管理器,因此,可以利用Panel使得BorderLayout中某个区域显示多个组件。
3、什么是事件
(1)事件 - 描述发生了什么的对象
如果用户在界面层执行一个动作(鼠标点击击或按钮),这将导致一个事件的发生。事件是描述发生了什么的对象。存在各种不同类型的事件类用来描述各种类型的用户交互。
(2)事件源 - 事件的产生器
事件源是一个事件的产生者。例如,在Button组件上点击鼠标会产生以这个Button为源的一个ActionEvent,这个ActionEvent实例是一个对象,它包含关于刚才所发生的那个事件的信息的对象,这些信息括:
- getActionCommon 返回与动作相关联的命令名称
- getWhen 返回事件发生的时间
(3)事件处理器 - 接收事件、解释事件并处理用户交互的方法
当单击一个按钮时就会产生一个事件(ActionEvent),然后检查是否有与该按钮关联的事件处理器(实际上就是一个方法),如果没有,那么什么也不执行;如果有,就会将该事件传递给与该按钮关联的事件处理器的方法,作为该方法的参数,之后该事件处理器方法就会自动得到调用,并且该方未能可以使用传递过来的ActionEvent对象,进而获得事件发生时与该事件及事件源相关联的那些信息。
4、委托模型
优点:
(1)事件不会被意外地处理
(2)有可能创建并使用适配器(adapter)类对事件动作进行分类
(3)委托模型有利于把工作分布到各个类中
5、事件Adapters(适配器)
定义的Listener可以继承Adapter类,而且只需重写你所需要的方未能