企业仓库管理系统的设计与实现 - 图文(6)

2019-08-17 13:39

22 聆风企业仓库管理系统

5.3.3.1 登陆模块设计

系统登录模块是项目必须开发的模块,它是系统的安全门,只有提供了正确的用户名和密码才可以进入系统。登录模块的设计有两部分组成,一部分是登录窗体,另一部分是窗体中带背景的面板。首先介绍窗体设计:

所有的组件都要布置在窗体内容面板上,而登录的内容面板使用了背景图片,这就继承了Swing和JPanel类编写自己的面板类,然后将该面板作为窗体的内容面板。程序代码如下:

图6 登陆窗口

import java.awt.*; import java.net.URL;

import javax.swing.*;

import java.awt.Dimension;

public class LoginPanel extends JPanel {

public int width, height; private Image img;

public LoginPanel() { //创建背景图片 }

protected void paintComponent(Graphics g) {//重写父类的组件绘制方法

super();

URL url = getClass().getResource(\);//获取图片Url img = new ImageIcon(url).getImage();//初始化image对象

内蒙古农业大学学士学位论文 23

}

}

super.paintComponent(g);

g.drawImage(img, 0, 0, this);//在面板的左上角开始绘制背景图片

接下来介绍登陆窗体的创建。创建LoginDialog类,该类继承了JFrame类,成为一个窗体。设置窗体的标题为“系统登录”,设置内容面板为LoginPanel类的对象。该窗体用于布置各种组件,来实现系统登录的界面。此处技术实现简单,代码展示忽略,详见系统src文件夹下。

接下来就是登录模块上的事件处理:“密码”文本框上的回车事件、“登录”按钮的事件处理。首先看回车事件,等用户输入好密码后,点击回车就会相当于点击界面上的登录按钮。实现代码如下:

private JPasswordField getPasswordField() {

}

“登录”按钮的事件处理:当用户点击登陆按钮后首先要获取用户名和密码 文本框中的内容,同时添加非空判断,防止出现异常。获取两个数据后就要连接数据库,匹配用户名和密码,匹配了就进入主窗体,没有返回信息“用户名或密码错误”。实现代码如下:

private JButton getLoginButton() {

if (passwordField == null) { }

return passwordField;

passwordField = new JPasswordField();

passwordField.setBounds(new Rectangle(143, 69, 125, 22)); passwordField.addKeyListener(new java.awt.event.KeyAdapter() {

public void keyTyped(java.awt.event.KeyEvent e) {

if(e.getKeyChar()=='\\n') //如果按键字符是换行符“\\n”,执行 }

loginButton.doClick();

以下操作

});

if (loginButton == null) {

loginButton = new JButton();

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

24 聆风企业仓库管理系统

}

\)));

loginButton.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

try { }

userStr = userField.getText(); String passStr = new

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

e1.printStackTrace();

JOptionPane.showMessageDialog(LoginDialog.this,

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

String(passwordField.getPassword());

return;

} catch (Exception e1) {

mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

mainFrame.setVisible(true);

mainFrame.getCzyStateLabel().setText(userStr);//设置状态栏setVisible(false); }

的操作员

});

return loginButton;}

5.3.3.2 系统主窗体设计

主窗体是人际交互的主题,用户通过主窗体中提供的各种菜单、表格、文本框、子窗体等组件进行管理。本系统主界面采用的是多用户界面,可以对打开的窗体进行平铺、关闭等操作,并在菜单中列出当前打开的子窗体的名称。如图7

内蒙古农业大学学士学位论文

25

图7 主窗体结构图

由于菜单和工具栏的设计可以直接通过工具实现,这里就不再介绍了,接下来介绍进货单模块的设计实现。进货单模块负责添加企业的进货信息,它根据进货人员提供的单据,将采购商品的名称、编号、产地、规格、单价和数量等信息记录到数据库中的库存表中。进货单的窗体界面如图8:

图 8 进货单窗口设计图

26 聆风企业仓库管理系统

在进货单窗体中单击“添加”按钮,会在表格中添加一个空行,可以在该空行的第一个字段选择商品名称,其他的字段信息会根据选择的商品自动填充。这样就需要为按钮编写ActionListener监听器,在该监听其中实现相应的操作。按钮的初始化由getTjButton()方法完成,该方法在初始化“添加”按钮时,为按钮添加了动作事件监听器。代码如下:

private JButton getTjButton() { }

于此同时,在窗体面板(bottomPanel)中布置了多个文本框,用于统计商品的数if (tjButton == null) { }

return tjButton;

tjButton = new JButton(); tjButton.setText(\添加\);

tjButton.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) { }

// 初始化票号

java.sql.Date date = new

jhsjField.setText(date.toString()); String maxId = Dao.getRuKuMainMaxId(date); idField.setText(maxId); // 结束表格中没有编写的单元 stopTableCellEditing();

// 如果表格中不包含空行,就添加新行

for (int i = 0; i <= table.getRowCount()-1; i++) { }

DefaultTableModel model = (DefaultTableModel) table

.getModel();

model.addRow(new Vector());

if (table.getValueAt(i, 0) == null)

return;

java.sql.Date(jhsjDate.getTime());

});


企业仓库管理系统的设计与实现 - 图文(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:[第17讲]小升初行程 - (行程方法技巧总结 - 接送问题、多过程行

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: