第14章 界面层开发

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 创建添加新图书的操作界面

addBook类定义
35
14.3 在单独窗口中添加新图书
• 创建添加新图书的操作界面

addBook类定义
36
14.3 在单独窗口中添加新图书
• 创建添加新图书的操作界面

addBook类定义
37
14.3 在单独窗口中添加新图书
• 创建添加新图书的操作界面

addBook类定义

当用户选择了查询方式,并在后面的inputString文本 框中输入了查询字符串,单击【查询】按钮,则调用 事件处理程序在books中查找符合条件的图书(定义 search_Book方法实现),结果存储到myVector向量中。
6
14.1 编写GUI类查找图书

定义search_Book方法:在books中查询字符串s是否存 在,flag=0时返回所有books中的所有图书,flag=1时 按书名查询,flag=2时按作者查询,最后返回查询结 果。

使用searchWay.getSelectedIndex()方法就可以得到 用户的选项。
3
14.1 编写GUI类查找图书

使用下面的代码生成数据表,初始时数据表为空。
4
14.1 编写GUI类查找图书

假设要查询的书事先存储在向量books中,可以定义下 面的方法初始化books的值。
5
14.1 编写GUI类查找图书
45
14.4 添加顾客
• 开发GUI类AddCustomer

该类可用于向书店管理系统中添加新顾客。 介绍如何使用单选按钮RadioButton类和 CardLayout布局管理器。
46
14.4 添加顾客
• 与顾客相关的类图
47
14.4 添加顾客
• 新增教师界面
48
14.4 添加顾客
• 新增学生界面
14.4 添加顾客
• AddCustomer类的定义

增加addCustomer()方法
58
14.4 添加顾客
• AddCustomer类的定义

增加addTeacher()方法
59
14.4 添加顾客
• AddCustomer类的定义

增加addStudent()方法
60
14.5 本章小结
• 本章继续实践了组合框、JTable组件、单选按钮 及CardLayout布局管理器的使用。 • 在图书查询功能中,介绍了如何使用下拉选择框 让用户选择查询方式,如何在Vector中查询符合 条件的图书并显示在JTable组件上。 • 结合添加新图书的操作界面,介绍了单例模式的 使用。 • 结合添加顾客界面,介绍了单选按钮及 CardLayout布局管理器的使用。
42
14.3 在单独窗口中添加新图书
• 应用单例模式

(2) 在类中加入静态方法,用于对外提供获取类实例的 方法:
43
14.3 在单独窗口中添加新图书
• 应用单例模式

(3)图书管理界面中【增加】按钮的事件响应代码应修改 如下:
44
14.3 在单独窗口中添加新图书
• 应用单例模式

对AddBook类中的shutDown()方法修改如下:
49
14.4 添加顾客
• AddCustomer类的定义

初始定义如下:
50
14.4 添加顾客
• AddCustomer类的定义

构造方法
51
14.4 添加顾客
• AddCustomer类的定义

构造方法
52
14.4 添加顾客
• AddCustomer类的定义

构造方法
53
14.4 添加顾客
38
14.3 在单独窗口中添加新图书
• 创建添加新图书的操作界面

addBook类定义
39
14.3 在单独窗口中添加新图书
• 创建添加新图书的操作界面

更改图书管理界面中【增加】按钮的事件响应,取消原 来的事件响应代码,并将下面的代码加到构造方法 BookGUI()中。
40
14.3 在单独窗口中添加Baidu Nhomakorabea图书
61
62
22
14.2 实现图书管理主界面

点击【增加】按钮,系统在图书列表区增加一行,但最 左一列显示的是“false”。
23
14.2 实现图书管理主界面

为了在最左列显示未选中的复选框,需要在 MyTableModel类的定义中增加getColumnClass方法。
24
14.2 实现图书管理主界面

要对列表区中的数据进行编辑,还需要在MyTableModel 类的定义中增加下面的两个方法:
25
14.2 实现图书管理主界面

修改按钮点击事件的响应
26
14.2 实现图书管理主界面

删除按钮点击事件的响应:删除某本书时要先选中前面的复选框,
再单击删除按钮即可。如果没有选中任何行,则没有提示。
27
30
14.3 在单独窗口中添加新图书
• 创建添加新图书的操作界面

开发GUI类AddBook,以便输入图书属性值。
31
14.3 在单独窗口中添加新图书
• 创建添加新图书的操作界面

此框架使用三行一列的GridLayout管理器。 最上部为标签,显示“学海书店”; 中间部分为书的属性输入部分,为了使显示内容在框架 的水平方向上居中,使用四行三列的GridLayout管理器, 最后一列的内容为空;
7
14.1 编写GUI类查找图书

定义search_Book方法
8
14.1 编写GUI类查找图书

BookSearch类定义
9
14.1 编写GUI类查找图书

BookSearch类定义
10
14.1 编写GUI类查找图书

BookSearch类定义
11
14.1 编写GUI类查找图书
12
14.1 编写GUI类查找图书
14.2 实现图书管理主界面

删除按钮点击事件的响应:改进,增加提示。
28
14.2 实现图书管理主界面

删除按钮点击事件的响应:改进,增加提示。
29
14.3 在单独窗口中添加新图书


在列表中增加一行,并进行编辑修改,这种方 式适合属性较少的情况。 对于实际的应用系统,属性的数量可能很多, 不能将所有的属性都显示在列表中。 在这种情况下,增加一行或对列表中的某一行 进行修改都需要弹出单独的窗口。

框架的最下部为功能按钮区,可使用FlowLayout管理器。
32
14.3 在单独窗口中添加新图书
• 创建添加新图书的操作界面

addBook方法从文本框中检索数据并使用检索的数据创 建Book实例。
33
14.3 在单独窗口中添加新图书
• 创建添加新图书的操作界面

addBook类定义
34
14.3 在单独窗口中添加新图书
• 创建添加新图书的操作界面

在图书管理界面中点击【增加】按钮,就会弹出添加新 图书窗口。如果再点击【增加】按钮,则又会弹出一个 添加新图书窗口。
41
14.3 在单独窗口中添加新图书
• 应用单例模式


单例模式是限制类实例只有一个对象的一种设 计模式。 实现方法:
(1) 修改现有构造方法访问权限public为private,从 而防止外部程序直接调用构造方法实例化对象。

BookSearch类定义
13
14.1 编写GUI类查找图书

BookSearch类定义
14
14.1 编写GUI类查找图书

运行效果
15
14.2 实现图书管理主界面
• 实现图书管理界面布局

定义BookGUI类实现Swing风格的图书管理界面。
16
14.2 实现图书管理主界面


为了突破JTable构造方法的限制,需要定义自 己的TableMode类MyTableMode; 将books的值作为参数带到MyTableMode类中。
17
14.2 实现图书管理主界面

BookGUI类定义
18
14.2 实现图书管理主界面

BookGUI类定义
19
14.2 实现图书管理主界面

BookGUI类定义
20
14.2 实现图书管理主界面

BookGUI类定义
21
14.2 实现图书管理主界面

事件响应:编写【增加】按钮的事件响应代码,并加到 构造方法BookGUI()中,放在最后。
• AddCustomer类的定义

构造方法
54
14.4 添加顾客
• AddCustomer类的定义

构造方法
55
14.4 添加顾客
• AddCustomer类的定义

增加事件响应
56
14.4 添加顾客
• AddCustomer类的定义

增加clearForm()及shutDown()方法
57
第14章 界面层开发
• • • • 编写GUI类查找图书 实现图书管理主界面 在单独窗口中添加新图书 添加顾客
1
14.1 编写GUI类查找图书

图书查询界面的框架使用BorderLayout布局管理器。
2
14.1 编写GUI类查找图书

“查询条件”右面使用组合框,组合框中设置三个选 项:空、书名、作者。 可将选项放在字符串数组searchwaydata中,并以此为 参数生成JComboBox组件。
相关文档
最新文档