上一篇博客我讲了数据库的创建以及管理员表的实现和管理员登录页面的实现,这一篇我来说说仓库管理系统的主页面的实现。主要是用eclipse中的插件windowbuilder来实现。其下载地址为:http://www.eclipse.org/windowbuilder/download.php。主页面要根据个人的审美爱好的不同可以设计不同的风格。不过这里重在功能的实现。如果你喜欢更好的风格可以自行私下里花时间去进行。个人感觉前端页面只要花时间就可以做出比较高大上炫的页面(如有不对,就当胡说)。

仓库管理系统主页面的主要的按钮分为两类一类是仓库货物及货物种类的管理:货物管理按钮包括货物的添加,货物的修改,货物的删除;货物种类的管理主要是货物种类的添加,货物种类的修改,货物种类的删除;一类是一些细致末节的小按钮比如联系我们,安全退出等按钮。好了说了这么多不如代码来的实际,下面是代码的实现。

主窗体页面及按钮实现,以及离开系统按钮操作实现:

package com.panli.view;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import java.awt.Toolkit;
import javax.swing.JDesktopPane;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.ImageIcon;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
/**
* 主页面视图层
* @author Peter
*
*/
public class MainFrm extends JFrame {
private JPanel contentPane;
private JDesktopPane table;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
MainFrm frame = new MainFrm();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public MainFrm() {
setTitle("\u4ED3\u5E93\u7BA1\u7406\u7CFB\u7EDF\u4E3B\u9875\u9762");
setIconImage(Toolkit.getDefaultToolkit().getImage(MainFrm.class.getResource("/images/goods_logo.png")));
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 519, 348);
JMenuBar menuBar = new JMenuBar();
setJMenuBar(menuBar);
JMenu menu = new JMenu("\u4ED3\u5E93\u7BA1\u7406\u7CFB\u7EDF");
menu.setIcon(new ImageIcon(MainFrm.class.getResource("/images/manager.png")));
menuBar.add(menu);
JMenu menu_2 = new JMenu("\u8D27\u7269\u7C7B\u578B\u7BA1\u7406");
menu_2.setIcon(new ImageIcon(MainFrm.class.getResource("/images/goodmanager.png")));
menu.add(menu_2);
JMenuItem menuItem_2 = new JMenuItem("\u8D27\u7269\u7C7B\u578B\u6DFB\u52A0");
menuItem_2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
GoodsTypeAddInterFrm goodsTypeAddInterFrm = new GoodsTypeAddInterFrm();
goodsTypeAddInterFrm.setVisible(true);
table.add(goodsTypeAddInterFrm);
}
});
menuItem_2.setIcon(new ImageIcon(MainFrm.class.getResource("/images/add.png")));
menu_2.add(menuItem_2);
JMenuItem menuItem_3 = new JMenuItem("\u8D27\u7269\u7C7B\u578B\u4FEE\u6539");
menuItem_3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
GoodsTypeManagerInterFrm goodsTypeManagerInterFrm = new GoodsTypeManagerInterFrm();
goodsTypeManagerInterFrm.setVisible(true);
table.add(goodsTypeManagerInterFrm);
}
});
menuItem_3.setIcon(new ImageIcon(MainFrm.class.getResource("/images/modify.png")));
menu_2.add(menuItem_3);
JMenu menu_3 = new JMenu("\u8D27\u7269\u7269\u54C1\u7BA1\u7406");
menu_3.setIcon(new ImageIcon(MainFrm.class.getResource("/images/goods.png")));
menu.add(menu_3);
JMenuItem menuItem_4 = new JMenuItem("\u8D27\u7269\u7269\u54C1\u6DFB\u52A0");
menuItem_4.setIcon(new ImageIcon(MainFrm.class.getResource("/images/add.png")));
menu_3.add(menuItem_4);
JMenuItem menuItem_5 = new JMenuItem("\u8D27\u7269\u7269\u54C1\u4FEE\u6539");
menuItem_5.setIcon(new ImageIcon(MainFrm.class.getResource("/images/modify.png")));
menu_3.add(menuItem_5);
JMenuItem menuItem_1 = new JMenuItem("\u5B89\u5168\u9000\u51FA");
menuItem_1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
exitSystemActionPerformed(e);
}
});
menuItem_1.setIcon(new ImageIcon(MainFrm.class.getResource("/images/exit.png")));
menu.add(menuItem_1);
JMenu menu_1 = new JMenu("\u8054\u7CFB\u6211\u4EEC");
menu_1.setIcon(new ImageIcon(MainFrm.class.getResource("/images/contact.png")));
menuBar.add(menu_1);
JMenuItem menuItem = new JMenuItem("\u8054\u7CFB\u65B9\u5F0F");
menuItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
MyContactInterFrm myContactInterFrm = new MyContactInterFrm();
myContactInterFrm.setVisible(true);
table.add(myContactInterFrm);
}
});
menuItem.setIcon(new ImageIcon(MainFrm.class.getResource("/images/phnoe.png")));
menu_1.add(menuItem);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(new BorderLayout(0, 0));
setContentPane(contentPane);
table = new JDesktopPane();
contentPane.add(table, BorderLayout.CENTER);
//最大化处理
this.setExtendedState(JFrame.MAXIMIZED_BOTH);
}
/**
* 安全退出系统
* @param e
*/
private void exitSystemActionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
int n =  JOptionPane.showConfirmDialog(null, "你确定要离开系统么");
if(n == 0){
dispose();
return;
}
}
}
联系我们按钮操作实现
package com.panli.view;
import java.awt.EventQueue;
public class MyContactInterFrm extends JInternalFrame {
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
MyContactInterFrm frame = new MyContactInterFrm();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public MyContactInterFrm() {
setClosable(true);
setIconifiable(true);
setTitle("\u8054\u7CFB\u6211\u4EEC");
setBounds(100, 100, 528, 356);
JLabel label = new JLabel("\u4F60\u6709\u4EC0\u4E48\u95EE\u9898");
label.setFont(new Font("宋体", Font.BOLD, 15));
label.setIcon(new ImageIcon(MyContactInterFrm.class.getResource("/images/smile.png")));
GroupLayout groupLayout = new GroupLayout(getContentPane());
groupLayout.setHorizontalGroup(
groupLayout.createParallelGroup(Alignment.LEADING)
.addGroup(groupLayout.createSequentialGroup()
.addGap(177)
.addComponent(label)
.addContainerGap(281, Short.MAX_VALUE))
);
groupLayout.setVerticalGroup(
groupLayout.createParallelGroup(Alignment.LEADING)
.addGroup(groupLayout.createSequentialGroup()
.addGap(130)
.addComponent(label)
.addContainerGap(182, Short.MAX_VALUE))
);
getContentPane().setLayout(groupLayout);
}
}

今天的这些代码都是一些前台的主页面的实现应该是没有什么难度。
实现系统的图片
联系我们:
主页面:

如果遇到这样的报错:

java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(Unknown Source)
at com.panli.view.MainFrm.<init>(MainFrm.java:77)
at com.panli.view.LogOnFrm.loginActionPerformed(LogOnFrm.java:180)
at com.panli.view.LogOnFrm.access$0(LogOnFrm.java:160)
at com.panli.view.LogOnFrm$2.actionPerformed(LogOnFrm.java:97)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Componen

是你在使用windowbuilder添加图片时,对应的有些对象路径名下的图片找不到了,所以才会提示空指针异常。所以你要根据报错提示的行,去找对应的路径看所添加的图片还在否。

推荐一个小图标很好用的网站:http://www.easyicon.net/

初学构建小项目之仓库管理系统主页面的实现(二)相关推荐

  1. 初学构建小项目之仓库管理系统货物管理功能实现(四)

    上一篇博客讲了仓库管理系统的货物类别管理功能的实现,这一篇博客我来说说仓库管理系统货物管理功能的实现.其实它和货物类型管理功能相似,只不过比货物类型管理的细节更多一些.但是它们的程序流程是一模一样的. ...

  2. SSM入门小项目----学生信息管理系统

    SSM入门小项目----学生信息管理系统 学习了SSM后,自己想动手写个小项目,巩固一下.选择了比较简单的学生信息管理系统,项目比较简单,包括的功能有:登录.学生信息的增删改查.分页(前端实现). 本 ...

  3. C小项目 —— 学生信息管理系统

    C小项目 -- 学生信息管理系统 实现功能: 1. 录入学生信息 2. 显示所有学生信息 3. 按学号查询学生信息 4. 按姓名查询学生信息(支持模糊查询) 5. 按年龄查询学生信息 6. 修改学生信 ...

  4. Java小项目-银行用户管理系统

    文章目录 前言 一. 功能 二. 代码 银行卡数据 转账流水数据 用户数据 BanksController UserController BanksDao RecordDao UserDao Bank ...

  5. Java搭建宝塔部署实战毕设项目WMS仓库管理系统源码

    大家好啊,我是测评君,欢迎来到web测评. 本期给大家带来一套Java开发的毕业设计项目WMS仓库管理系统源码. 技术架构 技术框架:SpringMVC + Mybatis + Ehcache + b ...

  6. JSP小项目,会员管理系统之实现登录功能

    1.上学期,在学期结束之际,学校安排实训,做了一个小小的JSP会员管理系统,今天,来介绍一下会员管理系统中的登录模块,此系统是使用JSP和Servlet技术,在加上JavaBean来实现的,是一个MV ...

  7. c++小项目:通讯录管理系统

    该项目非常适合新手c++的同学来做(当然也包括我),先看一个通讯录管理系统需要写什么东西. 学习于:https://www.bilibili.com/video/BV1et411b73Z?p=75(自 ...

  8. JSP小项目,会员管理系统之实现注册功能

     1.上学期,在学期结束之际,学校安排实训,做了一个小小的JSP会员管理系统,前面,介绍过登录模块的实现,今天,来介绍一下会员管理系统中的注册模块,此系统是使用JSP和Servlet技术,在加上J ...

  9. Java小项目--小型图书管理系统(含完整代码及工具)

    写在前面 对于一个java项目来说,我理解的整个流程是这样的: (1)进行需求分析 (2)设计数据库(重要) (3)编写java代码 注:数据库设计非常重要,特别是数据类型的定义,表与表之间的关系,如 ...

最新文章

  1. 大话:边缘计算、雾计算、云计算
  2. SQL中使用WITH AS提高性能-使用公用表表达式(CTE)简化嵌套SQL
  3. 观察者模式在源码中的应用
  4. c语言 年月日比较大小
  5. Java静态方法和实例方法 java中的数组作为形参传入
  6. 根据要求调参用matplotlib做一个一模一样的直方图(以及如何把成图变得更好看)
  7. Java虚拟机(四)——运行时数据区
  8. 阅读bulid to win感想
  9. java应用程序做授权_java-为我的Web应用程序编写授权过滤器(JSF ...
  10. jar包是什么意思_为什么越来越多的开发者选择使用Spring Boot?
  11. fastReport 绑定DataBand数据源后还是打印出一条数据
  12. 【数据结构】图文例题详解单调栈与单调队列
  13. 1059 Prime Factors (25 分)质因子 易错题
  14. 安装惠普M1136打印机一直处于“新设备已连接”状态怎么办?
  15. oracle 报表聚合,Oracle很实用的汇总报表实现方式!grouping_id
  16. java并发机制_Java并发机制的底层实现原理.PDF
  17. 华为手机adb connect连接失败解决方案(转)
  18. 博客园 首页 新随笔 联系 订阅 管理 如何使用电脑上的谷歌浏览器来调试安卓手机上的移动端页面...
  19. 信号与槽是如何实现的_Nature | 破解Wnt信号高效远距离传递之谜
  20. 加密和解密的应用_万金油_新浪博客

热门文章

  1. valet mac_将Laravel Valet用于Super Quick Dev Server
  2. 你必须知道的开店做生意那点事
  3. RISC-V原子指令LR/SC
  4. 终于实现了使用Java代码实现处理图片成圆角或圆形并抗锯齿有效的代码了
  5. Android模拟电子墨水屏,高刷墨水屏的 Android 手机,海信 A5 Pro 体验报告
  6. C#实现一元二次函数求解(实根+虚根)含源码
  7. 基于阿里云搭建hadoop平台
  8. 考勤助手——教务安排课程时序图
  9. 使命召唤16计算机内存不足,电脑中运行使命召唤16提示出现一个问题如何解决...
  10. C语言 | 约瑟夫问题(猴王争夺战)