GUI(图形用户界面)
Java为GUI提供的对象都存在java.Awt和javax.Swing两个包中
GUI:Graphical User Interface(图形用户接口)。
用图形的方式,来显示计算机操作的界面,这样更方便更直观。
CLI:Command line User Interface (命令行用户接口)
就是常见的Dos命令行操作。
需要记忆一些常用的命令,操作不直观。
java.awt:Abstract Window ToolKit (抽象窗口工具包),需要调用本地系统方法实现功能。属重量级控件。
javax.swing:在AWT的基础上,建立的一套图形界面系统,其中提供了更多的组件,而且完全由Java实现。增强了移植性,属轻量级控件。
javax是java扩展包
和本地系统相关的,就是重量级控件,因为移植性很差。完全由java实现的,移植性就很好,属于轻量级控件。(这里的轻重是与操作系统的关系)
Component(组件)
Container:为容器,是一个特殊的组件,该组件中可以通过add方法添加其他组件进来。
Window:窗体 没有边界和标题
Panel:面板
Frame:框架 有边界和标题
Dialog:对话框
FileDialog:文件对话框
Button:按钮
Label:标签
Checkbox:复选框
TextComponent:文本组件
TextArea:文本域 多行多列
TextField:文本框 单行多列
Frame f = new Frame(“my window”);//构造方法命名 setTile是方法命名
f.setLayout(new FlowLayout());//设置为流式布局
f.setSize(300,400);//设置窗体大小 Dimension
f.setLocation(300,200);//设置窗体出现在屏幕的位置 Point
f.setVisible(true);//设置窗体是否可见
一个方法:setBounds(int x,int y,int width,int height)
前后是有顺序关系的,如果f.setVisible(true);在前面就会先显示再加载到指定位置。一般是这个步骤:创建窗体对象;设置窗体属性;设置窗体可见
事件监听机制
事件源:事件发生的地方
事件:要发生的事情
事件处理:针对发生的事情做出的处理方案
事件监听器:就是把事件源和事件关联起来
窗体布局:窗体中组件的排列方式
流式布局FlowLayout:从上到下,从左到右。
边界布局BorderLayout:东西南北中
网格布局GridLayout:网格状,标准n行n列
网格包布局GridBagLayout:可以将任意个相连的网格状连在一起当一个
卡片布局CardLayout:类似于卡片,点一个卡片会在主界面加载一个