# #第十六章 Java图形界面编程
1 容器和组件
2 布局管理器(Layout)
分类:边界布局(BorderLayout),流布局(FlowLayout),网络布局(GirdLayout),卡片布局(CardLayout)
3 边界布局管理器(BorderLayout)
作用:将界面划分成东西南北中五个部分,中间部分最大,南北是贯通的
(CETER,NORTH,SOUTH,EAST,WEST)
当其他部分不存在时,中间去占领,中间没有时,其他部分不能去占领
设置布局管理器为边界布局
eg:this.contentP.setLayout(new BorderLayout(10,20))
其中10,20分别代表水平和垂直间距
适用范围:不是用来放一个个组件的,而是放中间容器的
4 流布局管理器(FlowLayout)
eg:this.contentP.setLayout(new FlowLayout())
适用于:放一行组件的设置
位置:从左到右,从上到下,从中间开始
大小:由组件里面的内容决定
this.jBtn.setFont(new Font("宋体",Font.BOLD,25))//设置字体
5 网络布局管理器(GirdLayout)
按照行列的方式,在界面上划分空间,每个空间等大
eg:this.contentP.setLayout(new GridLayout(2,3))
2,3代表几行几列(均分)
如果划分空间不够,放不下,自动增加列,行不变
适用于:放中间容器,与BorderLayout一样
55 卡片布局管理器(CardLayout)
特性: 1 添加层的时候,第二个参数是别名
2 add添加的顺序是 图片显示的顺序
6 面板嵌套
将大的区域划分为小的区域,分工明确,但增加了类的数量
7 事件处理(event)--委托事件处理模式
事件源对象--代码写的地方
监听器对象(EventListener)--
1 事件源对象和监听器对象是绑定的,
2 监听器有职责范围
3 一个事件源可以绑定不同职责的监听器
4 一个监听器也可以监听多个事件源对象
监听器的实现方式一:单独书写一个监听器类,实现监听器接口,重写抽象方法
可以为不同的事件源使用同一个监听器类
可以为每个事件源书写单独的监听器类
如果要操作窗体上的其他元素,必须要传参
好处:1 代码独立,各个类任务清晰,2 使用灵活,既可以为不同的事件源书写同一个监听器,也可以书写各自的
坏处:1 类的数量增加,维护量也增加了 2 如果要操作非事件源的容器或组件,必须传参
监听器的实现方式二:让容器类充当监听器
让容器类充当监听器,实现监听接口,重写抽象方法
好处:1 操作本容器的子容器或组件,不需要传参
坏处:1 类的任务不明确 2无法为不同的事件源书写各自的监听方法
监听器的实现方式三:使用匿名内部类,在绑定的同时实现接口的重写
好处:1 访问本容器的子容器或组件,不传参 ,2 可以为每个事件源书写各自的监听器,3 类的功能各自独立
坏处:初学者代码比较晦涩难懂