记录一个咸鱼大学生三个月的奋进生活012
复习Java(javaswing图形界面)
Java Gui
Graphics User Interface 图形用户界面(GUI)
JAVA1.0中使用抽象窗口工具箱( AWT )构建GUI
在JAVA2.0中,SUN公司推出了新的用户界面库SWING
SWING相对于AWT来说,功能更强大,使用更方便
SWING并没有代替AWT,他只是AWT的子类,它的使用依赖于AWT
AWT(重量级组件)(过时)
java.awt 包
容器 —— 包含界面组件的容器
组件 —— 各种界面组件,允许用户交互
布局管理器 —— 定义组件的位置(常用)
图形绘制 —— 界面窗口绘制图形
字体 —— 更改字体的对象(常用)
事件 —— 用于用户交互的对象(常用)
swing(轻量级组件)(常用)
java.swing 包
容器 —— 包含界面组件的容器(常用)
组件 —— 各种界面组件,允许用户交互(常用)
可改变的外观 —— 可以改变图形界面的大小(常用)
图形绘制 —— 使用Java2D绘制图形(常用)
swing的优势
① 轻量型组件
② 可改变外观大小
③ 运行更稳定
④ 适合MVC三层设计模式(在之后的第一次项目复习的文章中也会提到,这里只是简单地提一下)
M:model(模型:存储数据及其业务的处理,数据访问层)
C:control(控制:业务分发/流程转发,业务逻辑层)
V:view(视图:收集/展示数据,界面层)
swing的实现步骤
① 先在开头静态声明所有可能用到的组件为null,并且继承JFrame(extends JFrame)
② 实例化界面窗口: frame = new JFrame(“界面名”); // 规范化是直接在开头让本类继承JFrame
③ 实例化用于整体布局的panel,例: panel1 = new JPanel(); panel1.setLayout(new GridLayout(2, 1)); // 这就是声明了一个两行一列的窗体布局
④ 完成panel1中所有组件的编码
⑤ 实例化getContentPane()将组件放入frame
例:Container content = frame.getContentPane();
// 用这个方法才能将所有组件放入frame
content.setLayout(new BorderLayout());
content.add(panel1, BorderLayout.CENTER);
// 将包含所有组件的panel1放入Container对象
⑥ 设置frame窗体的属性,必须写的:
窗体的大小和位置(setBounds)
用户关闭按钮(setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);)
可视化窗体设置(setVisible(true); )