350 likes | 722 Views
JAVA Swing 程序设计. 南京邮电大学计算机学院 hhp@njupt.edu.cn. 内 容. 1 AWT 组件与 Swing 组件 2 Swing 组件的特点 3 运行环境和开发工具 4 基本控件使用 5 菜单与工具栏 6 结束. 1.1 Swing 的产生. ◆ 在 java 尚未推出 Swing 之前,要设计窗口界面程序,都是通过 AWT 组件,然而 AWT 具有以下缺点 :
E N D
JAVA Swing 程序设计 南京邮电大学计算机学院 hhp@njupt.edu.cn
内 容 • 1 AWT组件与Swing组件 • 2 Swing组件的特点 • 3 运行环境和开发工具 • 4 基本控件使用 • 5 菜单与工具栏 • 6 结束
1.1 Swing的产生 ◆ 在java尚未推出Swing之前,要设计窗口界面程序,都是通过AWT组件,然而AWT具有以下缺点: ☺ 界面组件不丰富难以满足图形化用户界面发展的需要。如AWT缺少剪贴板、打印支持、键盘导航等特性,最初的AWT甚至不包括弹出式菜单或滚动窗格等基本元素。 ☺ 此外AWT还存在着严重的缺陷,人们使AWT适应基于继承的、具有很大伸缩性的事件模型,基于同位体的体系结构也成为其致命的弱点。 正是由于AWT组件的缺点,开发折对AWT进行扩展,在其基础上产生了Swing组件。
1.2 轻量组件和重量组件 • 我们称AWT是重量组件,这是因为AWT不易改变,具有C语言的成分,如果想要改变AWT窗口变化时,需要编写自己的C语言代码,在搭配AWT与JDK函数库的链接函数,在跨平台运行时需要重新更改编译。 • 而称Swing为轻量组件,这是因为Swing是用纯Java代码写的,因此解决了窗口类无法跨平台的问题,是窗口功能也具有跨平台与延展性的特性。因此,Swing比AWT好。
2.1Swing组件 • Swing是由100%纯Java实现的,没有本地代码,不依赖操作系统的支持,这是它与AWT组件的最大区别。Swing在不同的平台上表现一致,并且有能力提供本地窗口系统不支持的其它特性。 • Swing采用了一种MVC的设计范式,即“模型-视图-控制”(Model-View-Controller),其中模型用来保存内容,视图用来显示内容,控制器用来控制用户输入。 显示组件的外观 view 处理用户在组件上的操作 controller 存储组件 数据 Model
Swing的M-UI结构 • 实际设计者开发的Swing,对MVC模型进行了简化,将外观和控件合在一起,并成为委托式UI界面 UI界面 (view+Controller) model
3.1 运行环境和开发工具 • 安装JDK开发包,设置环境变量. • 很多厂家公司都推出了自己的java开发工具,现在常用的Java项目开发环境有:JBuilder、VisualAge for Java、Forte for Java, Visual Cafe、Eclipse、NetBeans IDE、JCreator +J2SDK、jdk+记事本、EditPlus+ J2SDK等等. • 开发工具可以选择集成的图形界面开发环境:如Borland公司的Jbuilder或者简单文字模式开发工具,最为常用的就是JCreator.
3.3 Swing相关控件 基本控件 复杂控件 数据库表示控件 数据库控件 复杂数据库控件 数据库控件模型 其中前面两项是Swing控件,后面 是Boland公司扩展开发的组件。
4 基本组件开发 • 下面的这个例子里用到了图形界面编程最基本的控件:包括标签,按钮,文字框,复选栏,列表栏等。 • 第一步:建立工程 • 第二步:设计界面 • 第三步:添加自定义代码。 • 第四步:编译运行
4.1 建立工程 • 首先新建一个工程,我们命名为sample1 工程名 保存路径 模板
4.1 建立工程 • 文件目录下选择新建,会出现一个对象的集合框,从中,选择应用程序:application。 应用 程序
4.1 建立工程 • 在应用程序建立向导下完成相关的包的建立 标题
4.1 建立工程 • 定义窗口标题。完成后编译运行会出现一个空白窗口。
4.2 面板设计 • 在标签栏中选择设计,对面板进行设计 标签控件 文本控件 列表框 下拉列表框 单选按钮 复选框控件
4.3 属性修改 • 对控件的属性进行修改,在这里主要是名字,修改后:
4.4 添加代码 • 要实现的功能:能通过背景色选择文本框的背景色;通过前景色选择文本框中输入文字的颜色;通过选择框实现字体选择:斜体和黑体。
4.4 添加代码 • 所有的代码都添加在窗口类中。首先定义颜色数组color[ ]和取色函数getcolor()。 Color[ ] 函数
4.4 添加代码 • 在初始化函数中初始化选择框
4.4 添加代码 • 为组件添加函数 下拉列表框消息 单选按 钮1
4.4 添加代码 • 为组件添加函数 单选按钮2 列表框
4.5 编译运行 • 运行后,选择斜体,黑体,输入hello java swing 。
5 菜单和工具栏 • 菜单和工具栏是软件中必备的组件之一。要创建菜单和工具栏,主要用到的有两个:javax.swing.JMenu;javax.swing.JMenuBar。 • 其中JMenu类用来存放和继承JMenuItem的组件。而JMenuBar组件的功能就是强JMenu组件加入到窗口。 • 下面通过一个记事本程序来介绍其使用
5.1 建立工程 • 建立工程sample2。
5.2 面板设计 • 面板设计为一个文字框和一个下拉菜单 菜单条 菜单名 选择分割条
5.3 添加代码 • 定义变量,初始化 定义文件名,保存标志,文档和文件选择对象 在JbInit()中加入菜单栏
5.3 添加代码 • 为新建,保存,打开,另存,退出操作定义函数
5.3 添加代码 • 保存
5.3 添加代码 • 另存
5.3 添加代码 • 退出
5.3 添加代码 • 更新标签栏
5.3 添加代码 • 在菜单按键消息处理函数中添加编写的文件处理函数
5.4 编译运行 • 选择任意文档后,会在文本区显示文档,并在底部显示文档路径 路径
6 小结 • 以上主要以jbuilder为开发工具,列举了一些基本控件的使用。Swing提供Java强大的窗口界面功能,充分发挥Swing的作用,就可以设计出相当实用与出色的用户界面。