JAVA Swing 程序设计

35
JAVA Swing 程程程程 程程程程程程程程程程程 [email protected]

description

JAVA Swing 程序设计. 南京邮电大学计算机学院 [email protected]. 内 容. 1 AWT 组件与 Swing 组件 2 Swing 组件的特点 3 运行环境和开发工具 4 基本控件使用 5 菜单与工具栏 6 结束. 1.1 Swing 的产生. ◆ 在 java 尚未推出 Swing 之前,要设计窗口界面程序,都是通过 AWT 组件,然而 AWT 具有以下缺点 : - PowerPoint PPT Presentation

Transcript of JAVA Swing 程序设计

Page 1: JAVA Swing  程序设计

JAVA Swing 程序设计 南京邮电大学计算机学院 [email protected]

Page 2: JAVA Swing  程序设计

内 容 1 AWT 组件与 Swing 组件 2 Swing 组件的特点 3 运行环境和开发工具 4 基本控件使用 5 菜单与工具栏 6 结束

Page 3: JAVA Swing  程序设计

1.1 Swing 的产生 ◆ 在 java 尚未推出 Swing 之前,要设计窗口界面程序,都是通过 AWT 组件,然而 AWT 具有以下缺点 : ☺ 界面组件不丰富难以满足图形化用户界面发展的需要。如 AWT 缺少剪贴板、打印支持、键盘导航等特性,最初的 AWT 甚至不包括弹出式菜单或滚动窗格等基本元素。 ☺ 此外 AWT 还存在着严重的缺陷,人们使 AWT适应基于继承的、具有很大伸缩性的事件模型,基于同位体的体系结构也成为其致命的弱点。 正是由于 AWT 组件的缺点,开发折对 AWT 进行扩展,在其基础上产生了 Swing 组件。

Page 4: JAVA Swing  程序设计

1.2 轻量组件和重量组件 我们称 AWT 是重量组件,这是因为 AWT 不易改变,具有 C 语言的成分,如果想要改变

AWT 窗口变化时,需要编写自己的 C 语言代码,在搭配 AWT 与 JDK 函数库的链接函数,在跨平台运行时需要重新更改编译。 而称 Swing 为轻量组件,这是因为 Swing 是用纯 Java 代码写的,因此解决了窗口类无法跨平台的问题,是窗口功能也具有跨平台与延展性的特性。因此, Swing 比 AWT 好。

Page 5: JAVA Swing  程序设计

2.1Swing 组件 Swing 是由 100% 纯 Java 实现的,没有本地代码,不依赖操作系统的支持,这是它与

AWT 组件的最大区别。 Swing 在不同的平台上表现一致,并且有能力提供本地窗口系统不支持的其它特性。 Swing 采用了一种 MVC 的设计范式,即“模

型 - 视图 - 控制”( Model-View-Controller ),其中模型用来保存内容,视图用来显示内容,控制器用来控制用户输入。

view

controller

Model

显示组件的外观

处理用户在组件上的操作存储组件数据

Page 6: JAVA Swing  程序设计

Swing 的 M-UI 结构 实际设计者开发的 Swing ,对 MVC 模型进行了简化,将外观和控件合在一起,并成为委托

式 UI 界面

model

UI 界面(view+Controller)

Page 7: JAVA Swing  程序设计

2.2Swing 常用的 package

javax.swing 最常用的包 , 包含了各种 swing 组件的类javax.swing.border 包含外框有关的类javax.swing.colorchooser 针对 Swing 调色盘组件所设计的类javax.swing.event 处理 Swing 组件产生的事件javax.swing.filechooser 针对 Swing 文件选择对话框设计的类javax.swing.plaf 针对 Swing 外观相关的类javax.swing.text 包含与 Swing 文字组件相关的类javax.swing.table 针对 Swing 表格组件所设计的类javax.swing.tree 针对 Swing 树状组件所设计的类javax.swing.undo 提供 Swing 组件 Redo 和 Undo 的功能

Page 8: JAVA Swing  程序设计

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.

Page 9: JAVA Swing  程序设计

3.2Jbuilder 界面

Page 10: JAVA Swing  程序设计

3.3 Swing 相关控件

数据库控件模型复杂数据库控件数据库控件

数据库表示控件复杂控件基本控件

其中前面两项是 Swing 控件,后面是 Boland公司扩展开发的组件。

Page 11: JAVA Swing  程序设计

4 基本组件开发 下面的这个例子里用到了图形界面编程最基本的控件:包括标签,按钮,文字框,复选栏,列表栏等。 第一步:建立工程 第二步:设计界面 第三步:添加自定义代码。 第四步:编译运行

Page 12: JAVA Swing  程序设计

4.1 建立工程 首先新建一个工程,我们命名为 sample1

保存路径工程名

模板

Page 13: JAVA Swing  程序设计

4.1 建立工程 文件目录下选择新建,会出现一个对象的集合框,从中,选择应用程序 :application 。

应用程序

Page 14: JAVA Swing  程序设计

4.1 建立工程 在应用程序建立向导下完成相关的包的建立

标题

Page 15: JAVA Swing  程序设计

4.1 建立工程 定义窗口标题。完成后编译运行会出现一个空白窗口。

Page 16: JAVA Swing  程序设计

4.2 面板设计 在标签栏中选择设计,对面板进行设计

单选按钮

文本控件

复选框控件

下拉列表框列表框

标签控件

Page 17: JAVA Swing  程序设计

4.3 属性修改 对控件的属性进行修改,在这里主要是名字,修改后:

Page 18: JAVA Swing  程序设计

4.4 添加代码 要实现的功能:能通过背景色选择文本框的背景色;通过前景色选择文本框中输入文字的颜色;通过选择框实现字体选择:斜体和黑体。

Page 19: JAVA Swing  程序设计

4.4 添加代码 所有的代码都添加在窗口类中。首先定义颜色数

组 color[ ] 和取色函数 getcolor() 。Color[ ]

函数

Page 20: JAVA Swing  程序设计

4.4 添加代码 在初始化函数中初始化选择框

Page 21: JAVA Swing  程序设计

4.4 添加代码 为组件添加函数 下拉列表框消息

单选按钮 1

Page 22: JAVA Swing  程序设计

4.4 添加代码 为组件添加函数 单选按钮 2

列表框

Page 23: JAVA Swing  程序设计

4.5 编译运行 运行后,选择斜体,黑体,输入 hello java

swing 。

Page 24: JAVA Swing  程序设计

5 菜单和工具栏 菜单和工具栏是软件中必备的组件之一。要创建菜单和工具栏,主要用到的有两个:

javax.swing.JMenu ;javax.swing.JMenuBar 。

其中 JMenu 类用来存放和继承 JMenuItem的组件。而 JMenuBar 组件的功能就是强JMenu 组件加入到窗口。

下面通过一个记事本程序来介绍其使用

Page 25: JAVA Swing  程序设计

5.1 建立工程 建立工程 sample2 。

Page 26: JAVA Swing  程序设计

5.2 面板设计 面板设计为一个文字框和一个下拉菜单

菜单条

菜单名选择分割条

Page 27: JAVA Swing  程序设计

5.3 添加代码 定义变量,初始化

定义文件名 , 保存标志 , 文档和文件选择对象

在 JbInit() 中加入菜单栏

Page 28: JAVA Swing  程序设计

5.3 添加代码 为新建,保存,打开,另存,退出操作定义函数

Page 29: JAVA Swing  程序设计

5.3 添加代码 保存

Page 30: JAVA Swing  程序设计

5.3 添加代码 另存

Page 31: JAVA Swing  程序设计

5.3 添加代码 退出

Page 32: JAVA Swing  程序设计

5.3 添加代码 更新标签栏

Page 33: JAVA Swing  程序设计

5.3 添加代码 在菜单按键消息处理函数中添加编写的文件处理函数

Page 34: JAVA Swing  程序设计

5.4 编译运行 选择任意文档后,会在文本区显示文档,并在底部显示文档路径

路径

Page 35: JAVA Swing  程序设计

6 小结 以上主要以 jbuilder 为开发工具,列举了一些基本控件的使用。 Swing 提供 Java强大的窗口界面功能,充分发挥 Swing 的作用,就可以设计出相当实用与出色的用户界面。