没有合适的资源?快使用搜索试试~ 我知道了~
很不错的Java学习资料内容很详细 值得一学
资源详情
资源评论
资源推荐
1. GUI 编程引言
以前的学习当中,我们都使用的是命令交互方式:
例如:在 DOS 命令行中通过 javac java 命令启动程序.
软件的交互的方式:
1. 命令交互方式
图书管理系统
2. 图形交互方式
Java 提供了专业的 API 用于开发图形用户界面
GUI--> Graphic User Interface
将要了解 GUI API 的框架结构,以及 GUI 组件以及组件之间的关系,容器和布局管理
器,颜色,字体等.
2. GUI 的分类
2.1. AWT
Java1.0 版本的图形用户界面库,设计目标是帮助程序员编写在所有平台上都能良好表现的
GUI 程序。为了实现这个目标 Java1.0 提供了抽象窗口工具集(AWT),但是这个目标并
没有达到。AWT 在所有的系统上表现都不好。因为:最初版本的 AWT 是在一个月内构思,
设计和实现的(Think in Java )。
Abstract Window Toolkit 抽象窗口工具集
Java 将图形用户界面相关的类捆绑在了一起,放在了一个称之为抽象窗口工具集的库
中.AWT 适合开发简单的图形用户界面,并不适合开发复杂的 GUI 项目.
位于: java.awt.* 中,定义了很多的组件类,开发者可以直接创建对象加以使用
缺点: 所有的图形界面都依赖于底层的操作系统,容易发生于特定平台相关的故障.
AWT 调用本地系统资源生成图形化界面, 依赖本地平台. 1.0
2.2. Swing
SUN 公司对 AWT 进行了升级,基于 AWT,推出了一种更稳定,更通用和更灵活的库.称
之为 Swing 组件库(Swing component)。
既 然 都 是 用 于 GUI 设 计 的 组 件 库 , 那 么 为 了 区 分 Swing 组 件 类 和 对 应 的 AWT 组 件
类,Swing 组件类都已字母 J 为前缀.位于:javax.swing.* 中,提供了和 AWT 中等同的
所有的组件类,但是类名的前面多加了一个 J.
SWING 可以跨平台. 1.2
我们主要学习 Swing GUI 组件.
3. Java GUI API
GUI API 包 含 的 类 分 为 三 个 部 分 : 组 件 类 (component class) 容 器 类
(container class),和辅助类(helper class)
1. 组件类是用来创建用户图形界面的,例如 JButton,JLabel,JTextField.
2. 容器类是用来包含其他组件的,例如 JFrame,JPanel
3. 辅助类是用来支持 GUI 组件的,例如 Color,Font
3.1. 组件类
在图形用户界面程序中当我们想要创建按钮、复选框和滚动条等这些可以显示在屏幕
上的对象,该如何创建。其实这些都属于一类叫做组件类。
AWT 中的组件根类
类 Component
java.lang.Object
java.awt.Component
Swing 中的组件根类
javax.swing
类 JComponent
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
组件类的实例可以显示在屏幕上.Component 类是包括容器类的所有用户界面类的根
类 是 java.awt 中 的 类 , 对 应 的 Swing 中 的 是 Jcomponent. 了 解 了 Component 和
JComponent 都是抽象类.所以不能使用 new 关键字创建对象.所以需要使用它们的具体
的实现类来创建对象.
在 AWT 中典型图形用户界面中的按钮(Button)、复选框(Checkbox)和滚动条
(Scrollbar)都是组件类,都是 Component 类的子类.
在 Swing 中的 GUI 组件,有对应的 JButton,JCheckBox,JscrollBar
继承关系图(AWT)
3.2. 容器类
容器(Container),是一个特殊的组件,该组件可以通过 add()添加其他组件。
容器类适用于盛装其他 GUI 组件的 GUI 组件.例如 Panel Frame Dialog 都是
AWT 组件的容器类.对应的 Swing 组件的容器类是 JPanel JFrame JDialog
3.3. GUI 辅助类
用来描述 GUI 组件的属性,例如图像的颜色,字体等. 注意:辅助类是在 java.awt 中
的
3.4. GUI 运行原理
在 JDK 的 bin 目录中有 javaw.exe .javaw.exe 是 java 在 window 中专门用于
执行 GUI 程序.
4. 体验 GUI
import javax.swing.JFrame;
import javax.swing.JOptionPane;
public class Demo {
public static void main(String[] args) {
// 创建JFrame
JFrame frame = new JFrame("hello,world");
// 设置尺寸
frame.setSize(200, 100);
// JFrame在屏幕居中
frame.setLocationRelativeTo(null);
// JFrame关闭时的操作
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 显示JFrame
frame.setVisible(true);
}
}
5. Jframe 框架
JFrame(框架)是一个容器
创建一个用户界面需要创建一个 JFrame 来存放用户界面组件.例如存放按钮,文本框。
javax.swing
类 JFrame
java.lang.Object
java.awt.Component
java.awt.Container
java.awt.Window
java.awt.Frame
javax.swing.JFrame
5.1. 创建一个框架
public class Demo1 {
public static void main(String[] args) {
// 创建JFrame
JFrame frame = new JFrame("我的frame");
// 显示JFrame
frame.setVisible(true);
}
}
注意:需要调用 setVisible(true)方法后才会显示框架
运行程序会在窗口的左上角显示一个窗口,但是只能显示标题栏,而且关闭 JFrame 时,程
序程序没有停止.
所以需要完成如下需求:
1: 设置 Jframe 的宽度和高度
2: 让 Jframe 显示在屏幕中间
3: 关闭 Jframe 时,程序会停止
5.1.1. 设置 JFrame 的宽度和高度
java.awt.Window.setSize(int width, int height)
查找 API 文档,查看 setSize 方法,可以指定框架的宽度和高度.参数类型是 int,注意
是以像素为单位,普通的笔记本的屏幕分辨率为 1280*800 或者 1366*768.注意:分辨率
表示每平方英寸的像素数.屏幕分辨率越高,屏幕的像素越多.所以分辨率越高看到的细节
就越多.
setSize 方 法 被 定 义 在 java.awt.Component 类 中 , 被 Component 的 子 类
java.awt.Window 重写.而 Jframe 以继承了 Windiws 类所以也具备该方法.
剩余36页未读,继续阅读
gthxjl
- 粉丝: 0
- 资源: 37
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- OpenCv 使用fffffffff
- 正点原子开拓者FPGA多人表决器代码项目
- EOP-Last5Years.txt
- windows 32位、64位系统常见缺少的库
- 毕业设计基于springboot+vue实现的求职招聘类型网站源码+数据库(高分项目).zip
- 535springboot + vue 体质测试数据分析及可视化设计.zip(可运行源码+数据库文件+文档)
- python毕业设计-基于Django+OpenCV的二维码生成与识别系统源码.zip
- 基于springboot+vue实现的求职招聘类型网站源代码+数据库(优质毕设项目).zip
- iOS APP提审checklist
- 第十四届中北大学ACM程序设计竞赛.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0