航空票务系统的系统的实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
三、系统的实现
在航空电子综合票务管理系统中,用到了许多Java技术,如JavaSwing中的各种组件、JDBC、Java多线程、Java多维数组等技术。
(一) 航空电子票务管理主界面的实现
航空电子票务管理类FlightAppFrame实现系统的启动、初始化、提供操作菜单等功能。在该类中创建查询对象、定票管理类的实例对象、退票管理类的实例对象和航班管理类的实例对象,程序的主面如图3所示。
应用程序主界面FlightAppFrame类的程序实现部分代码如下所示。
package com.javapp.ch18;
……
/**
* Description:航空电子票务管理类
* @version 1.0,jdk1.6
* @Date 2011-1-28
*/
class FlightAppFrame extends JPanel implements ActionListener {
private Query query;
private Refundticket tuiPiao;
private TickManager dingPiao;
private JButton jbQuery = new JButton("航班信息查询");
private JButton jbManager = new JButton("航班信息管理");
private JButton jbDingPiao = new JButton("客户订票管理");
private JButton jbTuiPiao = new JButton("客户退票管理");
private JButton FindClient = new JButton("查询己订票客户信息");
ImageIcon log = new ImageIcon(this.getClass().getResource("MA60.jpg"));
JLabel jLabel2 = new JLabel();
public FlightAppFrame() {
//初始化UI组件
}
public void actionPerformed(ActionEvent e) {//控制查看面板是否可见按钮命令
if (e.getSource() == jbQuery) {
query = new Query();
query.pack();
query.setTitle("航班查询系统");
query.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
query.setVisible(true);
}
else if (e.getSource() == jbManager) {
FlightManager insertPanel = new FlightManager();
insertPanel.pack();
insertPanel.setResizable(false);
insertPanel.setTitle("航班信息管理");
insertPanel.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
insertPanel.setVisible(true);
}
else if (e.getSource() == jbDingPiao) {
dingPiao = new TickManager();
dingPiao.pack();
dingPiao.setResizable(false);
dingPiao.setTitle("电子机票预定管理");
dingPiao.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
dingPiao.setVisible(true);
}
else if (e.getSource() == jbTuiPiao) {
tuiPiao = new Refundticket();
tuiPiao.pack();
tuiPiao.setResizable(false);
tuiPiao.setTitle("电子机票退票系统");
tuiPiao.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
tuiPiao.setVisible(true);
}
else if (e.getSource() == FindClient) {
FrameTable frame = new FrameTable();
frame.pack();
frame.setVisible(true);
}
}
}
在上面程序中,通过按钮的ActionEvent事件的getSource()方法来判断按钮名称,getSource()返回的按钮名称,然后在按钮事件中处理用户的请求。用于实现系统启动的主程序类实现部分代码如下所示。
package com.javapp.ch18;
……
public class Main extends JFrame
{
private UpdateComboBox update;
private FlightAppFrame jiemian;
public Main()
{
update = new UpdateComboBox();
jiemian = new FlightAppFrame();
this.getContentPane().add(jiemian);
}
public static void main(String args[])
{
Main frame = new Main();
frame.setSize(690,400);
frame.setResizable(true);
frame.setTitle("航空电子票务综合管理系统");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}