Java实验报告(房屋销售管理信息系统的设计与实现).doc_第1页
Java实验报告(房屋销售管理信息系统的设计与实现).doc_第2页
Java实验报告(房屋销售管理信息系统的设计与实现).doc_第3页
Java实验报告(房屋销售管理信息系统的设计与实现).doc_第4页
Java实验报告(房屋销售管理信息系统的设计与实现).doc_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、-!-精品文档,值得下载,可以编辑!-!-课程设计 (项目设计 )说明书项目名称:房屋销售管理信息系统的设计与实现专业班级 :学号 :姓名:指导教师:完成时间:2013.07.06-!-精品文档,值得下载,可以编辑!-!- ! -精品文档,值得下载,可以编辑! -!-目录引言1 系统分析与设计 .1.1系统目标 .1.2系统模块分析 .1.3总体设计 .1.4类的设计 .1.5系统知识点 .2 系统实现 .2.1主窗口功能实现 .2.2录入 .2.3查询 .2.4修改 .2.5删除 .3 系统测试(截图)4 收获与体会 .5 参考文献 .6 附录 .1223447781011.12131818

2、18- ! -精品文档,值得下载,可以编辑! -!- ! -精品文档,值得下载,可以编辑! -!-房屋销售管理信息系统的设计与实现引言1.Java 用户界面概述图形用户界面( Graphics User Interface, 缩写 GUI)是指以图形的显示方式与用户实现交互操作的应用程序界面, 设计具有 GUI 特征的应用程序被称为 GUI 应用程序设计。Java 提供了十分完善的图形用户界面功能, 使得软件开发人员可以轻松地开发出功能强大、界面友善、安全可靠的应用程序,充分体现了 Java 语言的时代感与面向对象程序设计的优越性。在 Java 语言中,为 GUI应用程序设计提供了强大的功能,

3、其相关的类主要封装在两包( java.awt 和 javax.swing )中,其中包含了实现图形用户界面的所有基本元素,这些基本元素主要包括容器、组件、绘图工具与布局管理器等。组件是与用户实现交互操作的部件,容器是包容组件的部件,布局管理器是管理组件在容器中布局的部件,绘图工具是绘制图形的部件。 Java.awt 是 javal.l 用来建立 GUI的图形包,这里的“ awt” 是抽象窗口工具包。JAVA 设计用户界面需要以下四个基本步骤: (1)创建和设置组件;(2)将组件加入到容器中;(3)布局组件;(4)处理有组件产生的事件。当今时代是飞速发展的信息时代,在各行各业中离不开信息处理,这

4、正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。管理信息系统是进行信息的采集、存储、加工、维护和使用的系统,它是随着管理科学和技术科学的发展而形成的。在学习的Java 语言后,我使用 Java 语言编写了一个简单的房屋销售管理信息系统,可以实现简单的录入、查询、修改、删除和显示信息的功能。- ! -精品文档,值得下载,可以编辑! -!- ! -精品文档,值得下载,可以编辑! -!-1 系统分析与设计1.1 系统目标该程序是一个图形界面的简单的房屋销售管理信息系统,其实现的功能主要有: (

5、 1)录入房屋基本信息, 信息包括有: 房屋号、销售者姓名、 中介职工姓名、 房屋销售价格;(2)查询房屋基本信息;( 3)修改房屋基本信息; ( 4)删除房屋基本信息;( 5)显示房屋基本信息:计算超过 200 万的房屋总数,并输出这些房屋的详细信息。房屋销售管理信息系统功能总框图:房屋销售管理信息系统录查修图 删图 显入询改书 除书 示房房房基 房基 房屋屋屋本 屋本 屋基基基信 基信 基本本本息 本息 本信信信信信息息息息息1.2 系统模块分析1. 欢迎语主模块欢迎语主模块是本系统的主要窗口,在菜单条里有一个菜单,其子菜单有6 个菜单项,包括有录入房屋信息、查询房屋信息、修改房屋信息、删

6、除房屋信息、显示房屋信息、退出系统。2. 录入房屋信息模块录入房屋信息界面包括:房屋号、售房者姓名、中介职工姓名、房屋销售价格四个文本框,和“录入”、“重置”两个按钮,实现对房屋信息的录入。输入完信息之后,点击录入,会显示确认框,确认基本信息是否将要被录入。3. 查询房屋信息模块- ! -精品文档,值得下载,可以编辑! -!- ! -精品文档,值得下载,可以编辑! -!-查询房屋信息窗口是一个独立窗口,显示在主窗口上面。查询方式是:在“输入要查询的房屋号:”的文本框内输入房屋号,然后点击“查询”按钮,然后就会在售房者姓名、中介职工姓名、房屋销售价格三个文本框内显示出所要查询的信息。4. 修改房

7、屋信息模块修改房屋信息界面包括输入要修改的编号、 (新)售房者姓名、(新)中介职工姓名和(新)房屋销售价格四个文本框,和“开始修改” 、“录入修改”和“重置”三个按钮。当输入要修改的编号后,点击按钮“开始修改”则会显示出要修改的房屋的基本信息,当你重新输入新信息之后,点击“录入修改”按钮会弹出确认录入修改的确认窗口。5. 显示房屋信息模块显示房屋信息界面会显示出价格超过 200 万的房屋总数和这些房屋的基本信息。6. 删除房屋信息模块删除房屋信息界面和查询房屋信息界面基本一致,删除式是:在“输入要删除的房屋号:”的文本框内输入房屋号,然后点击“删除”按钮,然后就会在售房者姓名、中介职工姓名、房

8、屋销售价格三个文本框内显示出所要删除的房屋基本信息,并一并弹出确认删除的窗口。各模块之间的调用关系如下:欢迎语主模块录入房屋信息模块查询房屋信息模块修改房屋信息模块删除房屋信息模块显示房屋信息模块1.3 总体设计首先将录入信息、 查询信息、修改信息、删除信息和显示信息五个功能分别为五个类来实现,每一个累都继承了主窗口类JFRAME,使得窗口可以独自运行。主界面设计功能组件: 6 个菜单项、 1 个面板功能实现:录入信息、查询信息、删除信息、修改信息、显示信息实现过程:对菜单项添加监控,共有6 个监控事件,实现菜单项事件为创建对应功能- ! -精品文档,值得下载,可以编辑! -!- ! -精品文

9、档,值得下载,可以编辑! -!-的类对象,实现相应的功能窗口。1.4 类的设计本程序设计了 5 个类,分别是录入类、修改类、查询类、删除类和存放房屋信息的对象类。各类的主要作用如下:1.HouseManager.java该文件的类负责创建房屋销售管理信息系统的主窗口,该类包含main 方法,程序从该类考试执行。2.ModifySituation该类的文件负责创建房屋销售管理信息系统的修改界面。3.Delete该类的文件负责创建房屋销售管理信息系统的删除界面。4.House该类的文件负责创建房屋销售管理信息系统的存放房屋信息的对象。5.HouseSituation该类的文件负责创建房屋销售管理信

10、息系统的录入界面。6.Inquest该类的文件负责创建房屋销售管理信息系统的查询界面。1.5 系统知识点在程序中需要使用的包:import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.Hashtable;import java.util.Iterator;import java.awt.event.KeyEvent;- ! -精品文档,值得下载,可以编辑! -!- ! -精品文档,值得下载,可以编辑! -!-外层窗口类:JFrame类是 Java 类库提供的顶

11、层窗口类, 定义了其子类的时候根据需要给予相应的设置或者重新定义,在外层窗口类中可以设置窗口的大小setSize (x,x );窗口是否可见 setVisible( ) ;窗口是否可以调节 setResizable (x);设置窗口标题栏显示的内容setTitle();设置在桌面上显示的位置setLocation(x,y)。面板容器类:JLable显示结果标签;Jpanel 面板容器用来放置一些组件; CardLayout( ) 创建 CardLayout 对象作为布局;创建按钮 Button 并使用 add()方法加入面板中并为其注册监视器;ActionListener监视类接口,当单机按钮

12、或者功能键后,系统将调用下面的两个成员方法:InsertAction内部类,其中定义了成员方法actionPerformed(ActionEvent)进行监视,实现拼接信息功能;CommandAction 内部类,其中定义了成员方法actionPerformed(ActionEvent)监视一些功能按钮,实现显示信息的功能;组件类:JTextField创建文本框,允许用户在文本框中输入单行文本;JTextArea创建文本区,允许用户在文本区中输入多行文本;Jbutton创建按钮,允许用户单击按钮;Jlabel创建标签,标签为用户提供提示信息;- ! -精品文档,值得下载,可以编辑! -!- !

13、 -精品文档,值得下载,可以编辑! -!-简要的设计流程创建窗口输出显示区域构造房屋销售界面功能按钮对各个按钮添加事件监视器ActionListener 以及事件处理录入按钮查询按钮修改按钮删除按钮重置按钮事件处理事件处理事件处理事件处理事件处理完成 java 源代码编写调试修改程序,完成模拟房屋销售功能- ! -精品文档,值得下载,可以编辑! -!-为容器添加面板在菜单之间增加分隔线创建布局创建容器- ! -精品文档,值得下载,可以编辑! -!-2 系统实现2.1 主窗口功能实现(附上主要代码)/HouseManager.java创建主窗口public class HouseManager

14、extends JFrame implements ActionListener public HouseManager() /HouseManager 的构造函数 fileMenu.addSeparator(); /card=new CardLayout(); / con=getContentPane(); / pCenter=new JPanel(); pCenter.setLayout(card); /file=new File(房屋基本信息 .txt);public void actionPerformed(ActionEvent e)if(e.getSource()=录入 )card

15、.show(pCenter,录入界面 );else if(e.getSource()=修改 )card.show(pCenter,修改界面 );else if(e.getSource()=查询 )/ 基本信息查询 窗口设置为独立窗口,以便于用户进行查询。房屋信息查询 .setVisible(true);else if(e.getSource()=删除 )card.show(pCenter,删除界面 );else if(e.getSource()=退出 )System.exit(0);- ! -精品文档,值得下载,可以编辑! -!- ! -精品文档,值得下载,可以编辑! -!-2.2 录入功能的

16、实现(附上最要代码)/HouseSituation.javapublic class HouseSituation extends JPanel implements ActionListenerpublic HouseSituation(File file)JPanel pCenter=new JPanel();pCenter.add(boxH);setLayout(new BorderLayout();add(pCenter,BorderLayout.CENTER);JPanel pSouth=new JPanel();pSouth.add( 录入 );pSouth.add( 重置 );a

17、dd(pSouth,BorderLayout.SOUTH);validate();public void actionPerformed(ActionEvent e)tryinOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne);房屋信息表 =(Hashtable)inTwo.readObject();inOne.close();inTwo.close();catch(Exception ee)if(房屋信息表 .containsKey(number)String warning=该教师基本信息已存在,请到修改界面修改

18、!;JOptionPane.showMessageDialog(this,warning,警告,JOptionPane.INFORMATION_MESSAGE);- ! -精品文档,值得下载,可以编辑! -!- ! -精品文档,值得下载,可以编辑! -!-if(ok=JOptionPane.YES_OPTION)String name1= 售房者姓名 .getText();String name2= 中介职工姓名 .getText();String money= 房屋销售价格 .getText();房屋 =new House();房屋 .setNumber(number);房屋 .setNam

19、e1(name1);房屋 .setName2(name2);房屋 .setMoney(money);tryoutOne=new FileOutputStream(file);outTwo=new ObjectOutputStream(outOne);房屋信息表 .put(number,房屋 );outTwo.writeObject(房屋信息表 );outTwo.close();outOne.close();房屋号 .setText(null);售房者姓名 .setText(null);中介职工姓名 .setText(null);房屋销售价格 .setText(null);catch(Excep

20、tion ee)System.out.println(ee);2.3 查询功能的实现(附上主要代码)- ! -精品文档,值得下载,可以编辑! -!- ! -精品文档,值得下载,可以编辑! -!-/Inquest.javapublic class Inquest extends JDialog implements ActionListenerHashtable房屋信息表 =null;/存放房屋基本信息的散列表。JTextField房屋号 , 售房者姓名 , 中介职工姓名 , 房屋销售价格 ;/ 显示房屋基本的文本条。JButton查询 ;ButtonGroup group=null;FileI

21、nputStream inOne=null;ObjectInputStream inTwo=null;File file=null;/存放散列表的文件。public Inquest(JFrame f,File file)super(f,查询对话框 ,false);/创建无模式对话框。this.file=file;./boxH.add(Box.createVerticalGlue();JPanel pCenter=new JPanel();pCenter.add(boxH);Container con=getContentPane();con.add(pCenter,BorderLayout.C

22、ENTER);con.validate();setVisible(false);setBounds(100,200,360,270);addWindowListener(new WindowAdapter()2.4 修改功能的实现(附上主要代码)- ! -精品文档,值得下载,可以编辑! -!- ! -精品文档,值得下载,可以编辑! -!-/ModifySituation.javapublic class ModifySituation extends JPanel implements ActionListenerHashtable房屋信息表 =null;/存放房屋基本信息的散列条。JText

23、Field房屋号 , 售房者姓名 , 中介职工姓名 , 房屋销售价格 ;/ 输入房屋基本信息的文本条。JButton开始修改 , 录入修改 , 重置 ;FileInputStream inOne=null;ObjectInputStream inTwo=null;FileOutputStream outOne=null;ObjectOutputStream outTwo=null;File file=null;/存放散列条的文件public ModifySituation(File file)Box box1=Box.createHorizontalBox();/创建 5 个水平 Box 容器

24、,从左到右排列组件Box boxH=Box.createVerticalBox(); /创建一个垂直Box 容器,在其中自上向下排列里一个水平 Box 容器boxH.add(box1);boxH.add(box2);boxH.add(box3);boxH.add(box4);boxH.add(Box.createVerticalGlue(); /使得垂直 Box 容器内的组件靠上对齐inTwo=new ObjectInputStream(inOne);/首现到文件中读取Hashtable 对象。房屋信息表 =(Hashtable)inTwo.readObject();/首先在文件中读取hash

25、table 对象。String question=该房屋基本信息已存在,您想修改它的基本信息吗?;JOptionPane.showMessageDialog(this,question,警告,JOptionPane.QUESTION_MESSAGE); ;/弹出确认对话框。2.5删除功能的实现(附上主要代码)/Delete.java- ! -精品文档,值得下载,可以编辑! -!- ! -精品文档,值得下载,可以编辑! -!-public class Delete extends JPanel implements ActionListenerHashtable房屋信息表 =null;/存放房屋

26、基本信息的散列表JTextField房屋号 , 售房者姓名 , 中介职工姓名 , 房屋销售价格 ;/ 显示房屋基本信息的文本条JButton删除 ;FileInputStream inOne=null;ObjectInputStream inTwo=null;FileOutputStream outOne=null;ObjectOutputStream outTwo=null;File file=null;public Delete(File file)else/如果不存在该房屋信息,弹出警告对话框。String warning=该房屋号不存在! ;JOptionPane.showMessag

27、eDialog(this,warning,JOptionPane.WARNING_MESSAGE);else/如果输入房屋号是空的,弹出警告对话框。String warning=必须输入房屋号! ;JOptionPane.showMessageDialog(this,warning,JOptionPane.WARNING_MESSAGE);警告警告- ! -精品文档,值得下载,可以编辑! -!- ! -精品文档,值得下载,可以编辑! -!-3 系统测试(截图)3.1 欢迎语主窗口本界面的主要功能就是在菜单项选择子菜单,实现相应功能。3.2录入房屋基本信息- ! -精品文档,值得下载,可以编辑!

28、 -!- ! -精品文档,值得下载,可以编辑! -!-3.3 查询房屋基本信息3.4 修改房屋基本信息- ! -精品文档,值得下载,可以编辑! -!- ! -精品文档,值得下载,可以编辑! -!-3.5 删除房屋基本信息3.6 显示房屋基本信息- ! -精品文档,值得下载,可以编辑! -!- ! -精品文档,值得下载,可以编辑! -!-4 收获与体会通过这次课程设计,本人的变成能力得到了很大的提高,我对Java 程序设计语言以及数据结构有了更深刻的了解,增强了程序的编写能力,巩固了专业知识,对程序的模块化观念也由模糊逐渐变得清晰了。由于基础学的不是特别的扎实,所以在做的过程中始终抛开不了课本,但是设计思想和操作基本都是自己所想,做的过程当中,像按钮和组件方面会遇到一些问题,导致在排除错误方面花费很大时间,但最终还是得到解决,在这次设计过程中,培养了我的自学能力,在遇到困难的时候,能够认真的对待,不放弃,无论是查看各种书籍还是到图书馆中查找资料,想尽一切办法将这个问题解决。我总结了许多变成经验,这将在以后的学习生活中有很大的帮助。虽然本次 Java 课程设计短暂而时间紧凑,而且做得不够完善,但是还是给我带来了浓厚的兴趣,认识到自己的动手能力还需加强,本人

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论