ImageVerifierCode 换一换
格式:DOCX , 页数:59 ,大小:356.63KB ,
资源ID:15020448      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/15020448.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(疯狂java实战演义第章 图书进存销系统Word格式文档下载.docx)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

疯狂java实战演义第章 图书进存销系统Word格式文档下载.docx

1、 销售治理界面 销售治理界面主要用于进行书的销售操纵,添加一本需要生意业务的书、从生意业务列表中移除该书、进行生意业务等操纵,在本界面的上半部门为生意业务记载列表,我们约定生意业务记载列表所显示的为今天进行的生意业务,并提供一个输入日期的输入框,可以凭据日期进行查询该天的生意业务记载。本界面的下半部门为显示某笔生意业务的具体信息,包罗该笔生意业务所涉及的金额、销售量、生意业务日期、生意业务所涉及的书等信息。开端的界面如图9.2所示。图9.2 销售界面如图9.2,销售治理界面的生意业务记载列表中,每列的字段分别为该生意业务所涉及的书本名、总价、生意业务日期、总数量。销售治理界面的下面部门,是显示

2、具体某笔生意业务的界面,显示对应某笔生意业务的总价、生意业务日期、总数量、生意业务涉及书的列表,其中生意业务中涉及书的列表中,包罗书的书名、单价、和本次生意业务中该本书出售的数量。生意业务中涉及的书列表下,可以选择书和输入书的数量,并提供添加和删除按钮,当选择了一本书并输入相应的生意业务数量,再点击添加时,即可向生意业务涉及的书列表中添加书的记载,固然也可以进行删除操纵。在界面的最上面,有一个查询按键,可以输入日期进行生意业务记载查询。注:具体某笔生意业务的界面(界面的下面部门),总价、生意业务日期和总数量是不可输入的,这是由于总价是由各本书的单价乘以生意业务数量得出来的,生意业务日期是当前生

3、意业务时系统的时间为准的,总数量是各本书的生意业务数量总和,因此并不需要人手进行输入。另外,如果在书本的下拉框中选择了某本书时,将会带出该本书的单介和库存,好让使用者在操纵时对该本书的状况有所了解。在本例中,每一个界面对应一个JPanel,每个界面都是一个JPanel类的子类,销售治理界面里面是一个JSplitPane东西,上面放一个个JScrollPane东西,下面部门也是一个JScrollPane东西。上面的JScrollPane东西主要存放一个JTable,下面的JScrollPane主要放一些Box东西进行结构,详细请看图书进存销系统代码清单中的SalePanel类。9.2.3 入库治

4、理界面入库治理界面和销售治理界面的结构大抵相同,只是其中的数据列和文字有所差距。入加治理界面如图9.3所示。图9.3 库存治理界面与销售治理界面类似,上面的列表是入库记载,一条入库记载包罗入库时所涉及的书本、入库日期和入库书本的总数量。界面下面部门是具体某条入库记载的具体信息,包罗入库日期、总数量和入库书本的列表,同样地,入库日期与总数量都不可以手动输入。在新增一条入库记载时,可以向书本列表添加和删除书本,体现该入库记载中所涉及的书本及对应的数量。在选择某本书时,需要自动带出该书的库存。在本例中,入库治理界面对应的类为RepertoryPanel类,是JPanel的子类。9.2.4 书本治理界

5、面书本治理界面主要包罗书本的查询、列表、检察等功效,书本在本例中作为底子数据的脚色,主要用于销售和入库。这里需要注意的是,在新增一本书的时候,该书的库存为0,只有经过销售和入库才会对书的库存量产生影响。书的根本信息除了书名、代价介绍、所属出书社和书的种类外,还需要有书的图片,为简朴起见,本例中的每本书只有一张图片,因此不需要另外创建表来存放书的图片。书本治理界面如图9.4所示。图9.4 书本治理界面书本治理界面上面的列表主要显示书本名称、简介、所属种类、出书社、库存数量和代价这些信息,此处的书本名称与销售治理(入库治理)界面中的书本名称有所区别,这里的书本名称的列宽较窄,这是由于销售(入库)中

6、所涉及的是多本书,而书本治理界面中每一条书的记载只是代表一本书。在界面的下方有一个表单,用于检察、修改和添加书本操纵,表单的右边是书的图片显示区,用于显示书本所对应的缩略图,当用户点击缩略图的时候,可以弹出新的窗口用于展示大图。与前面的界面一样,在步伐中,我们新增一个BookPanel作为该界面。9.2.5 种类治理界面书的种类,体现一本书是属于哪个种类的,例如盘算机、文学、执法等等,这些都是书的种类,我们提供一个种类治理界面,可以用于治理各个种类。种类在本例中与书本一样,属于底子数据。新增种类并不需要任何约束,只需要输入种类的名称即可。在书的治理界面中,如果需要添加一本书,必须选择该书所对应

7、的种类。种类治理界面如图9.5所示。图9.5 种类治理界面如图9.5所示,种类治理界面并不庞大,上面是一个简朴的列表,下面是普通的检察、新增与修改的表单。在步伐中,我们新增一个TypePanel作为该界面。 出书社治理界面添加一本书,除了需要有种类之外,还需要选择该书的出书社,我们提供一个出书社治理界面。如图9.6所示。图9.6 出书社治理界面出书社列表中,主要显示出书社名称、联系人、联系电话和简介这些信息,下面的表单与前面几个界面的表单类似,都是用于检察、修改和新增。在步伐中,我们新增一个ConcernPanel来体现这个界面。从到此,我们所需要的界面已经全部完成了,在中我们将对各个界面的代

8、码进行优化,再去为主界面加上相应的菜单,我们的界面就全部完成。 修改界面代码本例中涉及的各个界面,我们可以发明界面险些都大同小异,界面上面部门是一个列表,下面是一个表单,因此,我们可以将这几个界面的配合部门提取出来,作为每个界面东西(JPanel)的父类,将一些可以重用的代码提升至父类,并可以使用“模板要领”,提供一些抽象的要领让各个子类去实现。以下代码为各个界面东西的父类(CommonPanel)的代码。代码清单:codebooksrcorgcrazyitbookuiCommonPanel.java private JTable table; /存放数据的table protected Ve

9、ctor datas; /列表数据 public void setJTable(JTable table) this.table = table; public JTable getJTable() return this.table; public Vector getDatas() return datas; public void setDatas(Vector datas) this.datas = datas; /将数据设置进JTable中 public void initData() if (this.table = null) return; DefaultTableModel

10、tableModel = ( /将数据设入表格Model中 tableModel.setDataVector(getDatas(), getColumns(); /设置表格样式 setTableFace(); /刷新列表的要领 public void refreshTable() initData(); getJTable().repaint(); /获取表列聚集, 由子类去实现 public abstract Vector getColumns(); /设置列表的样式, 由子类去实现 public abstract void setTableFace(); /设置数据列表的要领,由子类去实现

11、 public abstract void setViewDatas(); /清空界面下边的列表 public abstract void clear(); /给子类使用的要领, 用于获取一个列表的id列值 public String getSelectId(JTable table) int row = table.getSelectedRow(); int column = table.getColumn(id).getModelIndex(); String id = (String)table.getValueAt(row, column); return id;以上的代码,提供一个J

12、Table的属性,这是因为每个界面中都有一个主要的列表东西,例如销售治理界面中的销售记载列表、书本治理界面中的书本列表等。注意代码中的黑体部门,都是由子类去实现的要领,getColumns()由子类去提供列表的列聚集;setTableFace()是由子类去设置JTable的显示,例如需要设置某一列的宽度大概设置列表的行高等等;而setViewDatas()要领是重新去数据库读取数据,由子类去实现;clear()要领是刷新每个界面下边的表单,同样由子类去实现。在CommonPanel中提供了一个getSelectId要领,用来得到JTable属性中所选中的某一行中id列的值,也就是意味着在列表中

13、,必须要有一个列名叫做id的列。父类界说好范例之后,子类就可以凭据差别的情况,给父类差别的列,让父类进行显示,除了需要提供列的聚集外,还需要提供数据,也就是CommonPanel中的datas属性。我们这里提供了一个setViewDatas的要领,主要从数据库中读取相关的数据,再调用父类的initDatas要领构建列表。那么存放各个界面东西的JFrame类中,可以提供一个要领,当界面产生转换时,就调用setViewDatas要领,具体代码如下。codebooksrcorgcrazyitbookuiMainFrame.java /切换各个界面 private void changePanel(C

14、ommonPanel commonPanel) /移除当前显示的JPanel this.remove(currentPanel); /添加需要显示的JPanel this.add(commonPanel); /设置当前的JPanel this.currentPanel = commonPanel; this.repaint(); this.setVisible(true); /调用CommonPanel的要领重新读取数据并刷新列表 commonPanel.setViewDatas (); /清空界面下边的表单 commonPanel.clear();以上代码的黑体部门,调各个界面东西父类的se

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1