目录1设计要求…………………………………………………………………………32开发环境…………………………………………………………………………33总体设计…………………………………………………………………………32.1InputFrame.java……………………………………………………………32.2Student.java………………………………………………………………42.3TestStudentNew2.java……………………………………………………42.4QueryFrame.java……………………………………………………………42.5UpdataFrame.java…………………………………………………………42.6DeleteFrame.java…………………………………………………………42.7AllFrame.java………………………………………………………………44详细设计…………………………………………………………………………43.1InputFrame.java……………………………………………………………43.2Student.java………………………………………………………………83.3TestStudentNew2.java……………………………………………………93.4QueryFrame.java…………………………………………………………113.5UpdataFrame.java…………………………………………………………153.6DeleteFrame.java…………………………………………………………183.7AllFrame.java……………………………………………………………205后台设计…………………………………………………………………………246代码调试…………………………………………………………………………257实验总结…………………………………………………………………………258参考文献…………………………………………………………………………259致谢………………………………………………………………………………2621设计要求设计基于数据结构的订单管理系统。具体要求如下:(1)录入订单基本信息功能的界面。用户可以通过菜单选项让程序呈现“订单录入”功能的界面,通过该界面可以录入订单的订单号、签单公司、发货时间、物品、数量等信息。(2)查询订单基本信息功能的界面。用户可以通过菜单选项让程序呈现“订单查询”功能的界面,通过该界面可以查询已录入的订单信息。(3)修改订单基本信息功能的界面。用户可以通过菜单选项让程序呈现“订单修改”功能的界面,通过该界面可以修改订单的订单号、签单公司、发货时间、物品、数量等信息。(4)删除订单基本信息功能的界面。用户可以通过菜单选项让程序呈现“订单删除”功能的界面,通过该界面可以删除已录入的订单信息。(5)实现订单排序功能的界面。用户可以通过菜单选项让程序呈现“全部订单”功能的界面,通过该界面可以显示全部订单的订单号、签单公司、发货时间、物品、数量等信息,并可以根据发货时间对订单进行排序。2开发环境操作系统WindowsXPProfessional前台开发Eclipse、JDK1.6.0_16后台数据库MicrosoftOfficeAccess20033总体设计在设计订单管理系统时,需要编写7个Java源文件:TestStudentNew2.java、InputFrame.java、QueryFrame.java、UpdataFrame.java、DeleteFrame.java、AllFrame.java、Student.java。订单管理系统除了需要编写的7个Java源文件所给出的类外,还需要使用到Java系统提供的一些重要的类,如ArrayList和Collections等类。订单管理系统所用到的一些重要的类以及这些类之间的组合关系如图3.1所示。图3.1类之间的组合关系TestStudentNew2InputFrameQueryFrameUpdataFrameDeleteFrameAllFrameStudent33.1TestStudentNew2.java(主类)TestStudentNew2类负责创建订单管理系统的主窗口,程序从该类开始执行。TestStud-entNew2类的成员变量中有5种重要类型的对象:InputFrame、QueryFrame、UpdataFrame、DeleteFrame和AllFrame对象。TestStudentNew2类的主要成员的作用将在后面详细阐述。3.2Student.javaStudent类创建的对象是TestStudentNew2类的重要成员之一,负责封装订单的基本信息。3.3InputFrame.javaInputFrame类创建的对象是TestStudentNew2类的重要成员之一,负责提供录入订单基本信息的界面。3.4QueryFrame.javaQueryFrame类创建的对象是TestStudentNew2类的重要成员之一,负责提供查询订单基本信息的界面。3.5UpdataFrame.javaUpdataFrame类创建的对象是TestStudentNew2类的重要成员之一,负责提供修改订单基本信息的界面。3.6DeleteFrame.javaDeleteFrame类创建的对象是TestStudentNew2类的重要成员之一,负责提供删除订单基本信息的界面。3.7AllFrame.javaAllFrame类创建的对象是TestStudentNew2类的重要成员之一,负责提供显示全部订单基本信息以及订单基本信息按发货时间排序的界面。4详细设计4.1TestStudentNew2.java1.效果图TestStudentNew2创建的对象效果如图4.1所示。4图4.1TestStudentNew2创建的对象2.UML图TestStudentNew2类是javax.swing包中的JFrame的一个子类,并实现了ActionListe-ner接口,标明该类的主要成员变量和方法的UML图如图4.2所示。以下是UML图中有关数据和方法的详细说明。1)成员变量★“订单信息录入”是InputFrame对象,负责提供录入信息的界面。★“订单信息查询”是QueryFrame对象,负责提供查询信息的界面。★“订单信息修改”是UpdateFrame对象,负责提供修改信息的界面。★“订单信息删除”是DeleteFrame对象,负责提供删除信息的界面。★“全部订单信息及订单排序”是AllFrame对象,负责提供显示全部订单信息及订单排序的界面。★“订单录入”、“订单查询”、“订单修改”、“订单删除”和“全部订单”是JMenuItem创建的菜单项,这些菜单项都将当前窗口注册为图4.2TestStudentNew2类UML图自己的ActionEvent事件监听器。2)方法★TestStudentNew2()是构造方法,负责完成窗口的初始化。★actionPerformed(ActionEvent)方法是TestStudentNew2类实现的ActionListenerTestStudentNew2订单信息录入:InputFrame订单信息查询:QueryFrame订单信息修改:UpdateFrame订单信息删除:DeleteFrame全部订单信息及订单排序:AllFrame订单录入,订单查询,订单修改,订单删除,全部订单:JMenuItemTestStudentNew2():无类型actionPerformed(ActionEvent):voidJFrameActionListener5接口中的方法。TestStudentNew2创建的窗口是“订单录入”、“订单查询”、“订单修改”、“订单删除”和“全部订单”菜单项的ActionEvent事件监听器,当用户选择其中某个菜单项时,窗口将执行actionPerformed(ActionEvent)方法进行相应的操作。3.源代码(TestStudentNew2.java)packagestu;importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassTestStudentNew2implementsActionListener{JFrameframe=newJFrame(订单管理系统);JPanelpan1=newJPanel();InputFrameinput;//录入窗口QueryFramequery;//查询窗口UpdateFrameupdate;//修改窗口DeleteFramedelete;//删除窗口AllFrameAll;//全部订单窗口TestStudentNew2(){input=newInputFrame(订单录入);//创建录入窗口query=newQueryFrame(订单查询);update=newUpdateFrame(订单修改);delete=newDeleteFrame(订单删除);All=newAllFrame(全部订单);}publicstaticvoidmain(Stringargs[]){TestStudentNew2studMenu=newTestStudentNew2();studMenu.go();}publicvoidgo(){JMenuBarmenubar=newJMenuBar();//菜单栏frame.setJMenuBar(menubar);JTextFieldstatus=newJTextField();//状态栏JMenumenu;//菜单JMenuItemmenuItem;//菜单项//建立订单维护菜单menu=newJMenu(订单操作);menubar.add(menu);//订单维护中的菜单项menuItem=newJMenuItem(订单录入(I),KeyEvent.VK_I);menuItem.addActionListener(this);menu.add(menuItem);menuItem=newJMenuItem(订单查询(F),KeyEvent.VK_F);menuItem.addActionListener(this);6menu.add(menuItem);menuItem=newJMenuItem(订单修改(M),KeyEvent.VK_M);menuItem.addActionListener(this);menu.add(menuItem);menuItem=newJMenuItem(订单删除(D),KeyEvent.VK_D);menuItem.addActionListener(this);menu.add(menuItem);menuItem=newJMenuItem(全部订单(G),KeyEvent.VK_G);menuItem.addActionListener(this);menu.add(menuItem);menuItem=newJMenuItem(退出系统(E),KeyEvent.VK_E);menuItem.addActionListener(this);menu.add(menuItem);status.setEditable(false);//设置为不可编辑的Containercp=frame.getContentPane();cp.add(status,BorderLayout.SOUTH);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setSize(600,400);frame.setVisible(true);}//实现ActionListener接口中的方法publicvoidactionPerformed(ActionEvente){if(e.getActionComman