8.8系统主界面
系统主界面是整个系统的入口,所有系统功能都是通过主界面来实现的。主界面的运行效果图如图8-2所示,本节实现该主界面。
8.8.1主界面窗体的创建
本节将利用Swing中的图形控件生成主界面的窗体、菜单等内容。并且为每个菜单项添加了事件监听者。关于Swing的相关知识超出了本书介绍的范围,读者可以查看相关的资料,本节假设读者对Swing有一定的了解。
跟我做
(1)在“Library”工程的src文件夹中创建“library.main”包,创建“LibraryWindnow.java”文件,继承Jframe类,并实现ActionListener接口。该文件是整个图书管理系统的入口,完成界面菜单的生成和菜单动作的响应等功能。
(2)编辑LibraryWindow.java文件,在其构造函数中输入如下代码:
public LibraryWindow() {
super("图书管理系统");
// --系统管理菜单--
menuBar = new JMenuBar();
systemMenu = new JMenu("系统管理");
// --用户管理菜单--
userMGRMenu = new JMenu("用户管理");
// --用户登录菜单--
userLoginMenuItem = new JMenuItem("用户登录");
// --添加用户菜单--
userAddMenuItem = new JMenuItem("添加用户");
// --修改用户菜单--
userModifyMenuItem = new JMenuItem("修改用户");
//删除用户菜单
userDeleteMenuItem = new JMenuItem("删除用户");
//退出菜单
exitMenuItem = new JMenuItem("退出");
// --将“用户登录”子菜单项加入到“系统菜单”中--
systemMenu.add(userLoginMenuItem);
// --将“添加用户”子菜单项加入到“用户管理”菜单中--
userMGRMenu.add(userAddMenuItem);
// --将“修改用户”子菜单项加入到“用户管理”菜单中--
userMGRMenu.add(userModifyMenuItem);
// --将“删除用户”子菜单项加入到“用户管理”菜单中--
userMGRMenu.add(userDeleteMenuItem);
// --将“用户管理”子菜单项加入到“系统管理”菜单中--
systemMenu.add(userMGRMenu);
// --将“退出”子菜单项加入到“系统管理”菜单中--
systemMenu.add(exitMenuItem);
// --为“用户登录”菜单项添加动作监听者--
userLoginMenuItem.addActionListener(this);
// --为“添加用户”菜单项添加动作监听者--
userAddMenuItem.addActionListener(this);
// --为“修改用户”菜单项添加动作监听者--
userModifyMenuItem.addActionListener(this);
// --为“删除用户”菜单项添加动作监听者--
userDeleteMenuItem.addActionListener(this);
// --为“退出”菜单项添加动作监听者--
exitMenuItem.addActionListener(this);
// --将“系统管理”菜单项加入到菜单栏上--
menuBar.add(systemMenu);
// ---书籍管理菜单--
bookMGRMenu = new JMenu("书籍管理");
// --“添加书籍”菜单--
bookAddMenuItem = new JMenuItem("添加书籍");
// --“修改书籍”菜单--
bookModifyMenuItem = new JMenuItem("修改书籍");
// --“删除书籍”菜单--
bookDeleteMenuItem = new JMenuItem("删除书籍");
// --将“添加书籍”菜单加入到“书籍管理”菜单项中--
bookMGRMenu.add(bookAddMenuItem);
// --将“修改书籍”菜单加入到“书籍管理”菜单项中--
bookMGRMenu.add(bookModifyMenuItem);
// --将“删除书籍”菜单加入到“书籍管理”菜单项中--
bookMGRMenu.add(bookDeleteMenuItem);
// --将“添加书籍”菜单添加事件监听者--
bookAddMenuItem.addActionListener(this);
// --将“修改书籍”菜单添加事件监听者--
bookModifyMenuItem.addActionListener(this);
// --将“删除书籍”菜单添加事件监听者--
bookDeleteMenuItem.addActionListener(this);
//将书籍管理添加到菜单栏中
menuBar.add(bookMGRMenu);
// --借书管理菜单--
borrowBookMenu = new JMenu("借书管理");
//“书籍出借”菜单
borrowBookMenuItem = new JMenuItem("书籍出借");
//“出借信息修改“菜单
borrowInfoMenuItem = new JMenuItem("出借信息修改");
//将“书籍出借”菜单加入到“书籍管理”菜单中
borrowBookMenu.add(borrowBookMenuItem);
//将“出借信息修改”菜单加入到“书籍管理”菜单中
borrowBookMenu.add(borrowInfoMenuItem);
//为“书籍出借”菜单添加事件监听者
borrowBookMenuItem.addActionListener(this);
//为“出借信息修改”菜单添加事件监听者
borrowInfoMenuItem.addActionListener(this);
//将“借书管理”菜单加入到菜单栏中
menuBar.add(borrowBookMenu);
// --还书管理菜单--
returnBookMenu = new JMenu("还书管理");
//“书籍还入”菜单
returnBookMenuItem = new JMenuItem("书籍还入");
//“书籍还入信息修改”菜单
returnInfoMenuItem = new JMenuItem("书籍还入信息修改");
//将“书籍还入”菜单加入到“还书管理”菜单中
returnBookMenu.add(returnBookMenuItem);
//将“书籍还入信息修改”菜单加入到“还书管理”菜单中
returnBookMenu.add(returnInfoMenuItem);
//为“书籍还入”菜单添加事件监听者
returnBookMenuItem.addActionListener(this);
//为“书籍还入信息修改”菜单添加事件监听者
returnInfoMenuItem.addActionListener(this);
//将“还书管理”菜单加入到菜单栏中
menuBar.add(returnBookMenu);
// --信息一览菜单--
infoBrowseMenu = new JMenu("信息查询");
//”书籍列表”菜单
bookListMenuItem = new JMenuItem("书籍列表");
//“借阅情况表”菜单
borrowBookListMenuItem = new JMenuItem("借阅情况表");
//“用户列表”菜单
userListMenuItem = new JMenuItem("用户列表");
//将“书籍列表”菜单添加到“信息一览”菜单中
infoBrowseMenu.add(bookListMenuItem);
//将“出借书籍列表”菜单添加到“信息一览”菜单中
infoBrowseMenu.add(borrowBookListMenuItem);
//将“用户列表”菜单添加到“信息一览”菜单中
infoBrowseMenu.add(userListMenuItem);
//为“书籍列表”菜单添加事件监听者
bookListMenuItem.addActionListener(this);
//为“出借图书列表”菜单添加事件监听者
borrowBookListMenuItem.addActionListener(this);
//为“用户列表”菜单添加事件监听者
userListMenuItem.addActionListener(this);
//将“信息一览”菜单加入到菜单栏中
menuBar.add(infoBrowseMenu);
//为window添加菜单栏
setJMenuBar(menuBar);
//图片Label
titleLabel = new JLabel(new ImageIcon(".\\pic.jpg"));
container = getContentPane();
container.setLayout(new BorderLayout());
panel1 = new JPanel();
panel1.setLayout(new BorderLayout());
panel1.add(titleLabel, BorderLayout.CENTER);
container.add(panel1, BorderLayout.CENTER);
setBounds(100, 50, 400, 300);
show();
// --设置初始功能:--
userMGRMenu.setEnabled(false);
bookMGRMenu.setEnabled(false);
borrowBookMenu.setEnabled(false);
returnBookMenu.setEnabled(false);
infoBrowseMenu.setEnabled(false);
}
|
生成了系统管理、书籍管理、借书管理、还书管理和信息一览五个菜单项。并且为其子菜单项添加了事件监听者。
| 回书目 上一节 下一节 |
|
· Linux笔试面试题选摘测.. · 08年5月软考网管上午真.. · 性能测试从零开始 目录 · 08年5月软考网工上午真.. · 上周拒绝服务攻击(DDo.. · 08年5月各大网上书店及.. |
· 2008年5月24日软考试题.. · 软件设计师专家临考模.. · 上周网络管理员专家自.. · 网络工程师自测获奖名.. · 08年4月各大网上书店及.. · 系统分析师自测获奖名.. |
|
||||
| · ASP.NET开发教程 · 专题:ASP.NET 2.0基础.. · LAMP技术精解 · 服务器节能与绿色IT · ARP攻击防范与解决方案 · Linux 集群技术专题 · Windows集群服务应用 · CISSP认证成长之路 |
· SQL Server 2008/2005.. · SQL Server入门到精通 · 网络工程师职业规划与.. · 浏览器的战国时代 · 运营商封堵ADSL共享 中.. · 微软出价446亿美元收购.. · 技术人求职简历完备手册 · 开源虚拟化技术Xen |
|||
|
||||
| · SOA 面向服务架构 · SQL Server 2008/2005.. · Apache技术专题 · 三层交换技术专题 · SQL Server入门到精通 · Apache技术专题 · Windows集群服务应用 · 国际文档格式标准开战 |
· 路由器设置与口令恢复 · Linux 集群技术专题 · PHP开发应用手册 · SOA 面向服务架构 · 企业数据恢复指南 · 了解统一威胁管理(UTM).. · 专题:AIX操作系统管理.. · 访问控制列表(ACL)介绍 |
|||
|
||||
| · SQL Server入门到精通 · SQL Server 2008/2005.. · SOA 面向服务架构 · Apache技术专题 · 三层交换技术专题 · Apache技术专题 · 企业数据恢复指南 · Windows集群服务应用 |
· 路由器设置与口令恢复 · Linux 集群技术专题 · SOA 面向服务架构 · 了解统一威胁管理(UTM).. · 反垃圾邮件技术应用 · 访问控制列表(ACL)介绍 · ASP.NET开发教程 · PHP开发应用手册 |
|||