GUI
- 图形用户界面
容器与组件
- java.awt(抽象窗体工具,如容器,组件(按钮,输入框等),颜色,字体…影响java的跨平台性);
- javax.swing(在java扩展包中,重新实现了容器和组件,加强了对各个操作系统的兼容性);
- SWT= AWT + SWING;
- 凡是涉及到容器和组件用Swing,其他用Awt;
- 首层容器,4种;JWindow(不常用),JFrame,JOptionPane(弹出框),Japplet(已淘汰);
- 中间层容器:
- int choise = JOptionPane.showConfirmDialog(null, “ni”);null代表对话框显示在屏幕中央;
布局管理与面板嵌套
- 边界布局管理器(borderlayout);
- 流布局(flowlayout);
- 网格布局(gridelayout);
- 卡片布局(cardlayout);
边界布局管理器
- Jfram内容面板:默认采用边界布局管理器,界面分区域,东西南北中,南北要贯通,中间最大(权利最大,中间可以占领周边,周边不能占领中间);
- this.setLayout(new BorderLayout(10,20));
- this.add(a,BorderLayout.NORTH);
- 结论:边界布局管理器不是用来放单独组件,主要是是用来放中间容器;
流布局
- 流布局更适合放组件,从左往右,从上往下,中间开始,进行顺序排放;
- 组件大小由组件内容决定;
- 主要适合一行组件的设置;
网格布局管理器
- 按照行列方式在界面上划分空间,每个空间等大,如果划分空间不够,优先保证行不变,增加列;
- 主要是用来放中间容器;
Jpanel
- 默认布局管理为流布局;
事件处理
- 事件原对象—监听器对象—触发对象;
- 委托事件模型(事件原对象—监听器对象):java特有的事件模型;
- —–绑定事件源与监听器
- —–监听器有职责范围
- —–一个事件源可以绑定多个不同职责范围监听器
- —–一个监听器也可以监听多个事件源
ActionListener
- 实现方法——-1单独书写一个监听器类,实现监听接口,重写方法
- 可以为不同的事件源使用同一类型;
- 也可以为每个事件源写单独的监听器
- 如果要操作窗体上的其他元素,必须传参;