容器:1、JWindow 2、JFrame 3、JDialogo 4、JApplet
边界布局管理:
布局方式:把整个容器划分为五个部分:东西南北中,南北要贯通,中间最大(不仅是范围,权利也最大),
使用场景:不是用来直接放组件的,而是用来放置子容器(中间容器)的
流布局管理:
布局方式:按从左往右、从上往下,由中间开始的方式依次排放组件、组件大小要根据组件内容确定
使用场景:是用来放置组件的,而不是用来放中间容器的、流布局最好只做单行布局
网格布局管理:
布局方式:按行列将整个容器划分为等大的区域,放入的子容器的数目如果与设置的数目不等,优先保证行改变列
使用场景:不是用来直接放组件的,而是用来放置子容器的(中间容器)
事件处理:
委托事件模型:1、事件源---按钮
2、监听器对象
*:事件源和监听器对象具有绑定的关系,一个监听器可以绑定多个事件源,一个事件源也可以绑定多个监听器
事件处理步骤: 1、写好界面,事件源已经有了
2、选择合适的监听器类型
3、书写监听器实现类(写好处理代码)
4、产生监听器对象和事件源对象进行绑定
实现方式1:单独书写一个类,来实现监听器接口
特点:1、可以让一个监听器坚挺多个事件,用if判断分割,但这么做违背了单一职责。因此从设计上来说应该为每一个事件单独写一个监听器
2、如果需要造作非事件源的其他组件,必须传参
实现方式2:让容器充当监听器
特点:1、可以让一个监听器坚挺多个事件,用if判断分割,但这么做违背了单一职责。
2、操作本容器的组件不用传参
实现方式3:匿名内部类----再跟事件源对象绑定监听器对象的同时,实现监听对象
特点:1、每个事件源对象拥有独立的监听器类,同时没有多的JAVA文件,既满足单一,又没增加代码数量
2、操作外部容器类的任何自检或者子容器不用传参
监听器的抽象方法-----回调方法