云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 企业进销存管理系统 课程设计 软件工程

企业进销存管理系统 课程设计 软件工程

  • 62 次阅读
  • 3 次下载
  • 2025/6/15 11:12:15

loginButton = new JButton(); loginButton.setBounds(new Rectangle(109, 114, 48, 20)); loginButton.setIcon(new ImageIcon(getClass().getResource(

\)));

loginButton.addActionListener(new ActionListener() { publicvoid actionPerformed(ActionEvent e) { try {

userStr = userField.getText();

String passStr = new String(passwordField .getPassword());

if (!Dao.checkLogin(userStr, passStr)) {

JOptionPane.showMessageDialog(LoginDialog.this,

\用户名与密码无法登录\, \登录失败\, JOptionPane.ERROR_MESSAGE); return; }

} catch (Exception e1) { e1.printStackTrace(); }

mainFrame.setDefaultCloseOperation(EXIT_ON_CLOSE); mainFrame.setVisible(true);

MainFrame.getCzyStateLabel().setText(userStr); setVisible(false); } }); }

returnloginButton; }

3.5系统主窗体设计 1.设计菜单栏

本系统的菜单栏是由MenuBar类实现的,该类是一个自定义菜单栏类,它继承JMenuBar类成为Swing的菜单栏组件。下面以创建进货单菜单为例,。

(1)创建MenuBar类,该类继承javax.swing.JMenuBar类,并且在该类中定义一个私有的成员变量,类型为JMenu,用于表示菜单对象。

(2)编写一个名称为getJinhuo_Menu()的方法,该方法的返回值为一个JMenu对象,也就是一个菜单对象。在该方法中,当进货菜单对象为null时,创建一个菜单对象,并为其设置菜单名和快捷键。

(3)编写一个初始化菜单栏界面的方法initialize(),在该方法中,首先设置组件的尺寸,然后调用JMenuBar对象的add()方法向菜单栏中添加一个菜单。 (4)编写以下构造方法,用于调用初始化菜单栏界面。

(5)在MenuBar类,再创建一个JMenuItem类型的成员变量jinhuoItem,表示进货菜单项。

(6)编写一个名称为getJinhuoItem()的方法,该方法的返回值为一个JMenuItem对象,也就是一个菜单项对象。在该方法中,当进货单菜单项对象为null时,创建一个菜单项对象,并为其设置菜单项名、图标和动作事件监听器。(7)按照步骤(5)和步骤(6)的方法再创建一个进货退货菜单项对象,名称为jinhuo_tuihuoItem。

(8)在getJinhuo_Menu()方法中,应用JMenu对象的add()方法向菜单中添加菜单项。

2.设计工具栏

工具栏用于放置常用命令按钮,如进货单、销售单、库存盘点等。

向本系统中添加工具栏的方法和添加菜单栏的方法类似,也需要继承Swing的JTool组件编写自己的工具栏。当然,也可以直接使用Swing的JTool组件。组件的initialize()方法用于初始化工具栏的程序界面。

3.设计状态栏

本系统的状态栏显示了当前选择的功能窗体、登录用户名、当前日期和本系统所属公司,即版权所有者等信息,如下图所示。

3.6销售单模块设计 1.设计销售窗体 2.添加销售商品

在销售单窗体中单击“添加”按钮,将向table表格中添加新的空行,操作员可以在空行的第一列字段的商品下拉列表框中选择销售的商品,这个下拉列表框和进货单窗体的不同,它不是根据供应商字段确定选择框内容,而是包含了数据库中所有可以销售的商品。要实现添加销售商品功能,需要为“添加”按钮添加动作监听器,在监听器中实现相应的业务逻辑。

3.销售统计

和进货单的统计功能类似,销售单也需要统计功能,统计的内容包括货品数量、品种数量、合计金额等信息,实现方式也是通过table表格的事件监听器来处理相应的统计业务,但是销售单窗体使用的不是PropertyChangeListener属性改变事件监听器,而是使用ContainerListener容器监听器。 4.商品销售

在销售单窗体中添加完销售商品之后,单击“销售”按钮,将完成本次销售单的销售业务。系统会记录本次销售信息,并从库存表中扣除销售的商品数量。这些业务处理都是在“销售”按钮的动作监听器中完成的,该监听器需要获取销售单窗体中的所有销售信息和商品信息,将所有商品信息封装为销售明细表的模型对象,并将这些模型对象放到一个集合中,然后调用Dao公共类的insertSellInfo()方法将该集合与销售主表的模型对象保存到数据库中。

初始化表格代码:

privatevoid initTable() {

String[] columnNames = { \商品名称\, \商品编号\, \供应商\, \产地\, \单位\, \规格\, \单价\,

\数量\, \包装\, \批号\, \批准文号\ }; ((DefaultTableModel) table.getModel()) .setColumnIdentifiers(columnNames);

TableColumn column = table.getColumnModel().getColumn(0); final DefaultCellEditor editor = new DefaultCellEditor(sp); editor.setClickCountToStart(2); column.setCellEditor(editor); }

初始化商品下拉框:

privatevoid initSpBox() {

Listlist = newArrayList(); ResultSet set = Dao.query(\ + \kcsl>0)\);

sp.removeAllItems();

sp.addItem(new TbSpinfo()); for (inti = 0; table != null&&i

TbSpinfo tmpInfo = (TbSpinfo) table.getValueAt(i, 0); if (tmpInfo != null&&tmpInfo.getId() != null) list.add(tmpInfo.getId()); }

try {

while (set.next()) {

TbSpinfo spinfo = new TbSpinfo();

spinfo.setId(set.getString(\).trim()); if (list.contains(spinfo.getId())) continue;

spinfo.setSpname(set.getString(\).trim()); spinfo.setCd(set.getString(\).trim()); spinfo.setJc(set.getString(\).trim()); spinfo.setDw(set.getString(\).trim()); spinfo.setGg(set.getString(\).trim()); spinfo.setBz(set.getString(\).trim()); spinfo.setPh(set.getString(\).trim());

spinfo.setPzwh(set.getString(\).trim()); spinfo.setMemo(set.getString(\).trim());

spinfo.setGysname(set.getString(\).trim()); sp.addItem(spinfo); }

} catch (SQLException e) { e.printStackTrace(); } }

在事件中计算品种数量、货品总数、合计金额

privatefinalclass computeInfo implements ContainerListener { publicvoid componentRemoved(ContainerEvent e) { // 清除空行

clearEmptyRow(); // 计算代码

introws = table.getRowCount(); intcount = 0;

doublemoney = 0.0;

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

loginButton = new JButton(); loginButton.setBounds(new Rectangle(109, 114, 48, 20)); loginButton.setIcon(new ImageIcon(getClass().getResource( \))); loginButton.addActionListener(new ActionListener() { publicvoid actionPerformed(ActionEvent e) { try { userStr = userField.getText(); String passStr = new String(passwordField

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com