Java+Swing+Mysql实现停车场管理系统

水坚石青 2021-08-03 03:25:09 阅读数:530

本文一共[544]字,预计阅读时长:1分钟~
java Mysql 实现 Swing java+swing+mysql

一、系统介绍

1.系统功能

用户
1.登录系统
2.信息查询
包含计费标准,当前在场信息,用户历史信息,用户个人信息,出入场信息,当前可用车位。
3.系统管理
包含口令修改,关于,退出。
管理员
1.车场管理
包含车辆入场,车辆出场。
2.信息查询
包含计费标准,当前在场信息,用户历史信息,用户个人信息,出入场信息,当前可用车位。
3.信息维护
包含用户注册,用户修改,用户充值。
4.系统管理
包含管理员注册,口令修改,计费标准管理,关于,退出。

2.环境配置

JDK版本:1.8
Mysql:8.0.13

3.数据库表

charger
park
station
users

4.工程截图

在这里插入图片描述

二、系统展示

1.登录页

在这里插入图片描述

2.用户-主页

在这里插入图片描述

3.用户-信息管理-计费标准

在这里插入图片描述

4.用户-信息管理-当前在场信息

在这里插入图片描述

5.用户-信息管理-用户历史信息

在这里插入图片描述

6.用户-信息管理-用户个人信息

在这里插入图片描述

7.用户-信息管理-出入场信息

在这里插入图片描述

8.用户-信息管理-当前可用车位

在这里插入图片描述

9.用户-系统管理-修改密码

在这里插入图片描述

10.用户-系统管理-关于

在这里插入图片描述

11.管理员-主页

在这里插入图片描述

12.管理员-车场管理-车辆入场

在这里插入图片描述

13.管理员-车场管理-车辆出场

在这里插入图片描述

14.管理员-信息维护-用户注册

在这里插入图片描述

15.管理员-信息维护-用户修改

在这里插入图片描述

16.管理员-信息维护-用户充值

在这里插入图片描述

17.管理员-系统管理-管理员注册

在这里插入图片描述

18.管理员-系统管理-密码修改

在这里插入图片描述

19.管理员-系统管理-计费标准管理

在这里插入图片描述

三、部分代码

Charger.java

package whsdu.se.vo;
public class Charger {

private String cardtype;
private String stationtype;
private int charge;
public String getCardtype() {

return cardtype;
}
public void setCardtype(String cardtype) {

this.cardtype = cardtype;
}
public String getStationtype() {

return stationtype;
}
public void setStationtype(String stationtype) {

this.stationtype = stationtype;
}
public int getCharge() {

return charge;
}
public void setCharge(int charge) {

this.charge = charge;
}
}

Park.java

package whsdu.se.vo;
public class Park {

private int parkid;
private String startpark;
private String endpark;
private int sumpark;
private int fee;
private int cardid;
private int stationid;
private String stationtype;
public int getparkid() {

return parkid;
}
public void setOutid(int parkid) {

this.parkid = parkid;
}
public int getSumpark() {

return sumpark;
}
public void setSumpark(int sumpark) {

this.sumpark = sumpark;
}
public int getFee() {

return fee;
}
public void setFee(int fee) {

this.fee = fee;
}
public int getCardid() {

return cardid;
}
public void setCardid(int cardid) {

this.cardid = cardid;
}
public int getStationid() {

return stationid;
}
public void setStationid(int stationid) {

this.stationid = stationid;
}
public String getStartpark() {

return startpark;
}
public void setStartpark(String startpark) {

this.startpark = startpark;
}
public String getEndpark() {

return endpark;
}
public void setEndpark(String endpark) {

this.endpark = endpark;
}
public String getStationtype() {

return stationtype;
}
public void setStationtype(String stationtype) {

this.stationtype = stationtype;
}
}

Sitinfor.java

package whsdu.se.vo;
public class Sitinfor {

private int stationid;
private String stationtype;
public int getStationid() {

return stationid;
}
public void setStationid(int stationid) {

this.stationid = stationid;
}
public String getStationtype() {

return stationtype;
}
public void setStationtype(String stationtype) {

this.stationtype = stationtype;
}
}

Users.java

package whsdu.se.vo;
public class Users {

private int cardid;
private String name;
private String password;
private String cardtype;
private int carid;
private int tel;
private int overage;
private String userstype;
public int getCardid() {

return cardid;
}
public void setCardid(int cardid) {

this.cardid = cardid;
}
public String getName() {

return name;
}
public void setName(String name) {

this.name = name;
}
public String getPassword() {

return password;
}
public void setPassword(String password) {

this.password = password;
}
public String getCardtype() {

return cardtype;
}
public void setCardtype(String cardtype) {

this.cardtype = cardtype;
}
public int getCarid() {

return carid;
}
public void setCarid(int carid) {

this.carid = carid;
}
public int getTel() {

return tel;
}
public void setTel(int tel) {

this.tel = tel;
}
public int getOverage() {

return overage;
}
public void setOverage(int overage) {

this.overage = overage;
}
public String getUserstype() {

return userstype;
}
public void setUserstype(String userstype) {

this.userstype = userstype;
}
}

DBUtil.java


package whsdu.se.util;
import java.sql.Connection;
import java.sql.Date;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.GregorianCalendar;
import java.util.List;
import javax.swing.JOptionPane;
import whsdu.se.vo.*;
public class DBUtil {

protected static String dbClassName = "com.mysql.cj.jdbc.Driver";//数据库连接驱动类
protected static String dbUrl = "jdbc:mysql://localhost:3306/swing_parking?serverTimezone=UTC";//数据库连接URL
protected static String dbUser = "root"; //数据库用户名
protected static String dbPwd = "admin"; //数据库密码
private static Connection conn = null; //数据库连接对象
private DBUtil() {
 //默认构造函数
try {

if (conn == null) {
 //如果连接对象为空
Class.forName(dbClassName); //加载驱动类
conn = DriverManager.getConnection(dbUrl, dbUser, dbPwd);//获得连接对象
}
} catch (Exception ee) {

ee.printStackTrace();
}
}
private static ResultSet executeQuery(String sql) {
 //查询方法
try {

if(conn==null) new DBUtil(); //如果连接对象为空,则重新调用构造方法
return conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE).executeQuery(sql);//执行查询
} catch (SQLException e) {

e.printStackTrace();
return null; //返回null值
} finally {

}
}
private static int executeUpdate(String sql) {
 //更新方法
try {

if(conn==null) new DBUtil(); //如果连接对象为空,则重新调用构造方法
return conn.createStatement().executeUpdate(sql);//执行更新
} catch (SQLException e) {

e.printStackTrace();
return -1;
} finally {

}
}
public static void close() {
//关闭方法
try {

conn.close();//关闭连接对象 
} catch (SQLException e) {

e.printStackTrace();
}finally{

conn = null; //设置连接对象为null值
}
}
/* * 登录方法 */
public static Users check(String name, String password) {

Users user=new Users();//操作员信息对象
String sql = "select * from users where name= '" + name+ "' and password='" + password+"'";//查询字符串
ResultSet rs = DBUtil.executeQuery(sql);//执行查询
try {

while(rs.next()) {
//如果查询到了记录
user.setCardid(rs.getInt("cardid"));
user.setName(rs.getString("name")) ;
user.setUserstype(rs.getString("userstype")) ;
user.setPassword(rs.getString("password"));
user.setCardtype(rs.getString("cardtype"));
user.setCarid(rs.getInt("carid"));
user.setOverage(rs.getInt("overage"));
user.setTel(rs.getInt("tel"));
}
} catch (SQLException e){

e.printStackTrace();
}
DBUtil.close(); //关闭连接对象
return user;//返回操作员信息对象
}
/* *查询计费标准 * */
public static Charger searchcharge(String sql){

Charger charger = new Charger();//计费标准对象
ResultSet rs = DBUtil.executeQuery(sql);//执行查询
try {

while(rs.next()) {
//如果查询到了
charger.setCardtype(rs.getString("cardtype"));//设置计费标准卡的类型
charger.setCharge(rs.getInt("charge"));//设置计费标准单价
charger.setStationtype(rs.getString("stationtype"));//设置计费标准车位类型
}
} catch (SQLException e){

e.printStackTrace();
}
DBUtil.close(); //关闭连接对象
return charger;//返回计费标准对象
}
/* * 查询用户个人信息 * */
public static Users searchcominfo(String sql){

Users user = new Users();//用户对象
ResultSet rs = DBUtil.executeQuery(sql);
try {

while(rs.next()) {

user.setCardid(rs.getInt("cardid"));
user.setName(rs.getString("name")) ;
user.setUserstype(rs.getString("userstype")) ;
user.setPassword(rs.getString("password"));
user.setCardtype(rs.getString("cardtype"));
user.setCarid(rs.getInt("carid"));
user.setOverage(rs.getInt("overage"));
user.setTel(rs.getInt("tel"));
}
} catch (SQLException e){

e.printStackTrace();
}
DBUtil.close();
return user;
}
/* * 实现出入场查询 * * */
public static int count(String sql){

int i = 0;
ResultSet rs = DBUtil.executeQuery(sql);//执行查询
try {

while(rs.next()) {
//如果查询到了
i = rs.getInt(1);//得到count
}
} catch (SQLException e){

e.printStackTrace();
}
DBUtil.close(); //关闭连接对象
return i ; //返回i
}
/* * * 实现普通用户注册 * * */
public static int comzhuce(int cardid,String name,String password,String cardtype,int overage,int tel,int carid){

int i=0;
try{

String sql="insert users(cardid,name,password,cardtype,overage,tel,carid,userstype) values("+cardid+",'"+name+"','"+password+"','"+cardtype+"',"+overage+","+tel+","+carid+",'普通用户')";//将用户信息插入数据库中
i=DBUtil.executeUpdate(sql);
}catch(Exception e){

e.printStackTrace();
}
return i;
}
/* * * 实现管理员注册 * * */
public static int manzhuce(int cardid,String name,String password){

int i=0;
try{

String sql="insert users(cardid,name,password,userstype) values("+cardid+",'"+name+"','"+password+"',"+"'管理员')";//将管理员信息插入到数据库中
i=DBUtil.executeUpdate(sql);
}catch(Exception e){

e.printStackTrace();
}
return i;
}
/* * 收费标准修改 * * * */
public static void gaicharge(String sql){

try{

DBUtil.executeUpdate(sql);
}catch(Exception e){

e.printStackTrace();
}
return ;
}
/* * 充值 * */
public static void chongzhi(String sql){

try{

DBUtil.executeUpdate(sql);
}catch(Exception e){

e.printStackTrace();
}
return ;
}
/* * 车位查询 * */
public static Sitinfor chewei(String sql){

Sitinfor sit = new Sitinfor();//车位信息对象
ResultSet rs = DBUtil.executeQuery(sql);//执行查询
try {

while(rs.next()) {
//如果查询到了
sit.setStationid(rs.getInt("stationid"));
sit.setStationtype(rs.getString("stationtype"));
}
} catch (SQLException e){

e.printStackTrace();
}
DBUtil.close(); //关闭连接对象
return sit;
}
/* * 当前可用车位信息 * */
public static List nowstation(){

List list=new ArrayList();
String sql= "select stationid,stationtype from station where stationid not in (select distinct stationid from park where endpark is null)";//查询当前可用车位的信息
ResultSet rs=DBUtil.executeQuery(sql);
try {

while(rs.next()){

Sitinfor sit = new Sitinfor();//车位信息对象
sit.setStationid(rs.getInt("stationid"));//设定车位信息的车位号
sit.setStationtype(rs.getString("stationtype"));//设定车位信息的车位类型
list.add(sit);//将查询得到的车位信息加入到ArrayList()中
}
} catch (SQLException e) {

// TODO 自动生成 catch 块
e.printStackTrace();
}
return list;
}
/* * 车辆入场 * */
public static int parkin(int cardid,int stationid,String stationtype,String startpark){

int i=0;
try{

String sql="insert into park(cardid,stationid,stationtype,startpark) values("+cardid+","+stationid+",'"+stationtype+"','"+startpark+"')";//将入场车辆信息插入到数据库中
i=DBUtil.executeUpdate(sql);
}catch(Exception e){

e.printStackTrace();
System.out.print(1);
}
return i;
}
/* * 更改密码 * */
public static int Updatepass(String password,String name){

int i=0;
try{

String sql="update users set password='"+password+"' where name='"+name+"'";//更新数据库中的用户密码
i=DBUtil.executeUpdate(sql);
}catch(Exception e){

e.printStackTrace();
}
DBUtil.close();
return i;
}
/* * 出场 * * */
public static void Updatepark(String endpark,int fee,int sumpark,int cardid,String startpark){

try{

String sql = "update park set endpark = '"+endpark+"' ,sumpark = "+sumpark +",fee ="+ fee +" where cardid ="+ cardid+" and startpark ='" +startpark+"'";
DBUtil.executeUpdate(sql);
}catch(Exception e){

e.printStackTrace();
}
DBUtil.close();
}
//在出场时,用于更新用户的余额
public static void Updateoverage(int cardid,int overage){

try{

String sql = "update users set overage = "+overage +" where cardid = "+cardid;
DBUtil.executeUpdate(sql);
}catch(Exception e){

e.printStackTrace();
}
DBUtil.close();
}
/* * 用户出场 * */
public static Park parkout(String sql){

Park park = new Park();
ResultSet rs = DBUtil.executeQuery(sql);//执行查询
try {

while(rs.next()) {
//如果查询到了
park.setStartpark(rs.getString("startpark"));
park.setCardid(rs.getInt("cardid"));
park.setEndpark(rs.getString("endpark"));
park.setFee(rs.getInt("fee"));
park.setStationid(rs.getInt("stationid"));
park.setSumpark(rs.getInt("sumpark"));
}
} catch (SQLException e){

e.printStackTrace();
}
DBUtil.close(); //关闭连接对象
return park;
}
/* * 根据cardid查询历史记录 * * */
public static List selectcardid(int cardid){

List list=new ArrayList();
String sql= "select * from park where cardid ="+ cardid+" and sumpark is not null";
ResultSet rs=DBUtil.executeQuery(sql);
try {

while(rs.next()){

Park park = new Park();
park.setCardid(rs.getInt("cardid"));
park.setStationid(rs.getInt("stationid"));
park.setStartpark(rs.getString("startpark"));
park.setEndpark(rs.getString("endpark"));
park.setSumpark(rs.getInt("sumpark"));
park.setFee(rs.getInt("fee"));
list.add(park);
}
} catch (SQLException e) {

// TODO 自动生成 catch 块
e.printStackTrace();
}
return list;
}
/* * 查询当前在场信息 * */
public static List now(){

List list=new ArrayList();
String sql= "select * from park where endpark is null";
ResultSet rs=DBUtil.executeQuery(sql);
try {

while(rs.next()){

Park park = new Park();
park.setCardid(rs.getInt("cardid"));
park.setStationid(rs.getInt("stationid"));
park.setStartpark(rs.getString("startpark"));
list.add(park);
}
} catch (SQLException e) {

// TODO 自动生成 catch 块
e.printStackTrace();
}
return list;
}
/* * * 更改用户信息 * */
public static int updateuser(int cardid,String name,String password,String cardtype,int overage,int tel,int carid){

int i=0;
try{

String sql= "update users set name = '"+name+"',password = '"+password +"',cardtype = '"+cardtype +"',overage = "+overage+",tel = "+tel+",carid = "+carid+" where cardid ="+ cardid;
i=DBUtil.executeUpdate(sql);
}catch(Exception e){

e.printStackTrace();
}
return i;
}
/* * * 查询所有成员 * */
public static List selectuser(){

List list=new ArrayList();
String sql= "select * from users where userstype = '普通用户'";
ResultSet rs=DBUtil.executeQuery(sql);
try {

while(rs.next()){

Users user = new Users();
user.setCardid(rs.getInt("cardid"));
user.setName(rs.getString("name")) ;//设置操作员用户名
user.setUserstype(rs.getString("userstype")) ;
user.setPassword(rs.getString("password"));//设置管理员密
user.setCardtype(rs.getString("cardtype"));
user.setCarid(rs.getInt("carid"));
user.setOverage(rs.getInt("overage"));
user.setTel(rs.getInt("tel"));
list.add(user);
}
} catch (SQLException e) {

// TODO 自动生成 catch 块
e.printStackTrace();
}
return list;
}
/* * 删除用户 * * */
public static int Deluser(int cardid){

int i=0;
try{

String sql = "delete from users where cardid ="+ cardid;
i=DBUtil.executeUpdate(sql);
}catch(Exception e){

e.printStackTrace();
}
DBUtil.close();
return i;
}
}

LoginFrame.java

/* * 该ui类用于显示登录窗口 * */
package whsdu.se.view;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.border.EmptyBorder;
import whsdu.se.util.DBUtil;
import whsdu.se.view.*;
import whsdu.se.vo.Users;
public class LoginFrame extends JFrame {

private JPasswordField password;
private JTextField username;
private JButton login;
private JButton reset;
private static Users user;
//这样写的目的是为了操作数据库,老师写的虽然好,但是对于操作数据库并不方便
public LoginFrame() {

super();
final BorderLayout borderLayout = new BorderLayout(); //创建布局管理器
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //设置关闭按钮处理事件
borderLayout.setVgap(10); //设置组件之间垂直距离 
getContentPane().setLayout(borderLayout); //使用布局管理器
setTitle("停车场管理系统"); //设置窗体标题
setSize(300, 180);//设置窗体大小
this.setLocationRelativeTo(null);
final JPanel mainPanel = new JPanel(); //创建主面板
mainPanel.setLayout(new BorderLayout()); //设置边框布局
mainPanel.setBorder(new EmptyBorder(1, 1, 10, 10)); //设置边框为0
getContentPane().add(mainPanel); //在窗体中加入主面板
final JPanel centerPanel = new JPanel(); //添加一个中心面板 
final GridLayout gridLayout = new GridLayout(3, 2); //创建网格布局管理器
centerPanel.setLayout(gridLayout); //使用布局管理器
mainPanel.add(centerPanel);//添加到主面板
JLabel zhanwei1 = new JLabel(); //创建卡号标签
centerPanel.add(zhanwei1); //添加到中心面板
JLabel zhanwei2 = new JLabel(); //创建卡号标签
centerPanel.add(zhanwei2); //添加到中心面板
final JLabel userNamelabel = new JLabel(); //创建一个标签
userNamelabel.setHorizontalAlignment(SwingConstants.CENTER);//设置对齐方式
userNamelabel.setPreferredSize(new Dimension(0, 0)); //设置组件大小
userNamelabel.setMinimumSize(new Dimension(0, 0)); //设置组件最小的大小
centerPanel.add(userNamelabel); //添加到中心面板
userNamelabel.setText("账号:"); //设置标签文本
username = new JTextField(20); //创建文本框
//username.setColumns(20);
username.setPreferredSize(new Dimension(0, 0)); //设置组件大小
centerPanel.add(username); //添加到中心面板
final JLabel passwordLabel = new JLabel(); //创建一个标签
passwordLabel.setHorizontalAlignment(SwingConstants.CENTER);//设置对齐方式
centerPanel.add(passwordLabel); //添加到中心面板
passwordLabel.setText("密码:"); //设置标签文本
password = new JPasswordField(20); //创建密码框 
//password.setDocument(new MyDocument(6)); //设置密码长度为6
password.setEchoChar('*'); //设置密码框的回显字符
centerPanel.add(password); //添加到中心面板
final JPanel southPanel = new JPanel();//新增一个底部面板
southPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
mainPanel.add(southPanel, BorderLayout.SOUTH); //添加到主面板中
login = new JButton();
login.addActionListener(new LoginAction()); //添加监听器
login.setText("登录"); //设置按钮文本
southPanel.add(login); //把按钮添加到底部面板
reset = new JButton();
reset.addActionListener(new ResetAction()); //添加监听器
reset.setText("重置"); //设置按钮文本
southPanel.add(reset); //把按钮添加到底部面板
setVisible(true); //设置创建可见
setResizable(false); //设置窗体不可改变大小
}
class ResetAction implements ActionListener {
//实现重置按钮的监听
public void actionPerformed(final ActionEvent e){

password.setText("");//设置密码输入框为空
username.setText("");//设置用户名输入框为空
}
}
class LoginAction implements ActionListener {
//实现登陆按钮的监听
public void actionPerformed(final ActionEvent e) {

user = DBUtil.check(username.getText(),new String(password.getText()));
if(user.getName()!=null) {

if(user.getUserstype().equals("管理员")) {

MdiFrame frame1 = new MdiFrame();//创建一个主窗体
//frame1.setEnabled(true);//设置其可见
LoginFrame.this.setVisible(false);//设置登录窗体为不显示
}
else {
//判断用户名是否为null
MdiFrame frame = new MdiFrame();//创建一个主窗体
frame.disMenu();
//frame.setEnabled(true);//设置其可见
LoginFrame.this.setVisible(false);//设置登录窗体为不显示
}
}
else {

JOptionPane.showMessageDialog(null,"请输入正确的用户名和密码!");//弹出提示框
username.setText("");//设置用户名输入框为空
password.setText("");//设置密码输入框为空
}
}
}
//这里的作用是因为在更改口令时需要登陆时的用户名
public static Users getUser() {

return user;
}
public static void setUser(Users user) {

LoginFrame.user = user;
}
public static void main(String[] args) {

new LoginFrame();
}
}

MdiFrame.java

/* * 该ui类是主窗口 * */
package whsdu.se.view;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.SystemColor;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ComponentAdapter;
import java.awt.event.ComponentEvent;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.border.LineBorder;
import whsdu.se.common.*;
import whsdu.se.view.*;
import whsdu.se.vo.*;
public class MdiFrame extends JFrame implements ActionListener {

//关键!MDIDesktopPane(该类实际继承了 JDesktopPane) 用来容纳子窗体
//即使子窗体最大化也仅仅限制在该容器的范围之内
private MDIDesktopPane desktop = new MDIDesktopPane();
//菜单条
private JMenuBar menuBar = new JMenuBar();
//菜单
private JMenu mnuPark = new JMenu("车场管理");
private JMenu mnuQuery = new JMenu("信息查询");
private JMenu mnuSever = new JMenu("信息维护");
private JMenu mnuManSes = new JMenu("系统管理");
//菜单项
private JMenuItem munParkIn = new JMenuItem("车辆入场");
private JMenuItem mnuParkOut = new JMenuItem("车辆出场");
private JMenuItem munCharge = new JMenuItem("计费标准");
private JMenuItem mnuNowInfo = new JMenuItem("当前在场信息");
private JMenuItem mnuHistory = new JMenuItem("用户历史信息");
private JMenuItem mnuComUsersInfo = new JMenuItem("用户个人信息");
private JMenuItem mnuInOut = new JMenuItem("出入场信息");
private JMenuItem mnuComZhuCe = new JMenuItem("用户注册");
private JMenuItem mnuComIdentity = new JMenuItem("用户修改");
private JMenuItem mnuManZhuCe = new JMenuItem("管理员注册");
private JMenuItem mnuManIdentity = new JMenuItem("口令修改");
private JMenuItem mnuManCharge = new JMenuItem("计费标准管理");
private JMenuItem mnumancharge = new JMenuItem("用户充值");
private JMenuItem mnunowstation = new JMenuItem("当前可用车位信息");
private JMenuItem mnuabout = new JMenuItem("关于");
private JMenuItem mnuduichu = new JMenuItem("退出");
private JScrollPane scrollPane = new JScrollPane();
private Users user = LoginFrame.getUser();
//主窗体构造方法
public MdiFrame() {

desktop.setOpaque(false); //JPanel 透明模式
ImageIcon img = new ImageIcon("E:/java练习/carsituation_man/res/main.jpg"); //创建一个图片路径
JLabel background = new JLabel(img); //创建个带背景图片的JLabel
background.setIcon(img);
this.getLayeredPane().add(background,new Integer(Integer.MIN_VALUE));
background.setBounds(0, 0, img.getIconWidth(), img.getIconHeight());
desktop.add(background);
setMenu();
setTitle("停车场管理系统");
scrollPane.getViewport().add(desktop);
getContentPane().setLayout(new BorderLayout());
getContentPane().add(scrollPane, BorderLayout.CENTER);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setBounds(280,119,800, 600);
this.setVisible(true);
this.setLocationRelativeTo(null);
}
/** * 为窗体添加菜单并注册监听器 * 只写了部分菜单 */
private void setMenu(){

//车场管理菜单
mnuPark.add(munParkIn);
munParkIn.addActionListener(this);
mnuPark.add(mnuParkOut);
mnuParkOut.addActionListener(this);
//信息查询菜单
mnuQuery.add(munCharge);
munCharge.addActionListener(this);
mnuQuery.add(mnuNowInfo);
mnuNowInfo.addActionListener(this);
mnuQuery.add(mnuHistory);
mnuHistory.addActionListener(this);
mnuQuery.add(mnuComUsersInfo);
mnuComUsersInfo.addActionListener(this);
mnuQuery.add(mnuInOut);
mnuInOut.addActionListener(this);
mnuQuery.add(mnunowstation);
mnunowstation.addActionListener(this);
//信息维护菜单
mnuSever.add(mnuComZhuCe);
mnuComZhuCe.addActionListener(this);
mnuSever.add(mnuComIdentity);
mnuComIdentity.addActionListener(this);
mnuSever.add(mnumancharge);
mnumancharge.addActionListener(this);
//系统管理菜单
mnuManSes.add(mnuManZhuCe);
mnuManZhuCe.addActionListener(this);
mnuManSes.add(mnuManIdentity);
mnuManIdentity.addActionListener(this);
mnuManSes.add(mnuManCharge);
mnuManCharge.addActionListener(this);
mnuManSes.add(mnuabout);
mnuabout.addActionListener(this);
mnuManSes.add(mnuduichu);
mnuduichu.addActionListener(this);
//添加到菜单栏
menuBar.add(mnuPark);
menuBar.add(mnuQuery);
menuBar.add(mnuSever);
menuBar.add(mnuManSes);
//菜单栏添加到主窗体
setJMenuBar(menuBar);
}
//如果是普通用户,将不允许使用的菜单项禁止使用
public void disMenu() {

//将车场管理、信息维护、系统管理对普通用户都不可用
mnuPark.setEnabled(false);
mnuSever.setEnabled(false);
mnuManZhuCe.setEnabled(false);
mnuManCharge.setEnabled(false);
}
//点击菜单项出现相应的子窗体
public void actionPerformed(ActionEvent ae) {

//如果允许同时打开多个子窗口,可以用该方法获得所有子窗口对象数组
JInternalFrame[] jiFrame = desktop.getAllFrames();
//如果只允许同时打开一个,可以用该方法移除现有窗口
//desktop.removeAll(); 
//获得点击的菜单名称
String mnuName = ae.getActionCommand();
//根据菜单名称决定显示的子窗口,可以按下面的格式为每一个子菜单指定显示的子窗口
if(mnuName.equals("车辆入场")) {

//MdiFrame.addIFrame(new ParkInFrame(),BorderLayout.CENTER);
desktop.add(new ParkInFrame(),BorderLayout.CENTER);
}
else if(mnuName.equals("车辆出场")) {

desktop.add(new ParkOutFrame(),BorderLayout.CENTER);
}
else if(mnuName.equals("计费标准")) {

desktop.add(new ChargeFrame(),BorderLayout.CENTER);
}
else if(mnuName.equals("当前在场信息")) {

desktop.add(new NowInfoFrame(),BorderLayout.CENTER);
}
else if(mnuName.equals("用户个人信息")) {

if(user.getUserstype().equals("管理员"))
desktop.add(new ComUsersInfoFrame(),BorderLayout.CENTER);
else
desktop.add(new ComUsersInfoFrame1(),BorderLayout.CENTER);
}
else if(mnuName.equals("用户历史信息")) {

desktop.add(new HistoryFrame(),BorderLayout.CENTER);
}
else if(mnuName.equals("出入场信息")) {

desktop.add(new InOutFrame(),BorderLayout.CENTER);
}
// 
else if(mnuName.equals("用户注册")) {

desktop.add(new ComZhuCeFrame(),BorderLayout.CENTER);
}
else if(mnuName.equals("用户修改")) {

desktop.add(new ComIdentityFrame(),BorderLayout.CENTER);
}
else if(mnuName.equals("用户充值")) {

desktop.add(new RechargeFrame(),BorderLayout.CENTER);
}
else if(mnuName.equals("管理员注册")) {

desktop.add(new ManZhuCeFrame(),BorderLayout.CENTER);
}
else if(mnuName.equals("口令修改")) {

desktop.add(new GengGaiMiMa(),BorderLayout.CENTER);
}
else if(mnuName.equals("当前可用车位信息")) {

desktop.add(new nowstationFrame(),BorderLayout.CENTER);
}
else if(mnuName.equals("关于")) {

desktop.add(new AboutFrame(),BorderLayout.CENTER);
}
else if(mnuName.equals("退出")) {

System.exit(0);
}
else
desktop.add(new ManChargeFrame(),BorderLayout.CENTER);
}
}

四、其他

1.其他系统实现

JavaWeb系统系列实现

Java+JSP实现图书管理系统
Java+JSP实现学生信息管理系统
Java+Servlet+JSP实现学生成绩管理系统
Java+Servlet+JSP实现宠物诊所管理系统
Java+SSM+Easyui实现网上考试系统
Java+Springboot+H-ui实现营销管理系统
Java+Springboot+Mybatis+Bootstrap实现网上商城系统

JavaSwing系统系列实现

Java+Swing实现斗地主游戏
Java+Swing实现图书管理系统
Java+Swing实现医院管理系统
Java+Swing实现仓库管理系统
Java+Swing实现考试管理系统
Java+Swing实现通讯录管理系统
Java+Swing实现学生信息管理系统
Java+Swing实现学生宿舍管理系统
Java+Swing实现学生选课管理系统
Java+Swing实现学生成绩管理系统
Java+Swing实现学校教材管理系统
Java+Swing实现学校教务管理系统
Java+Swing实现企业人事管理系统
Java+Swing实现电子相册管理系统
Java+Swing实现自助取款机(ATM)系统
Java+Swing实现超市管理系统-TXT存储信息
Java+Swing实现宠物商店管理系统-TXT存储信息

2.获取源码

点击以下链接获取源码
源码大全

3.备注

如有侵权请联系我删除。

4.鸡汤

今日事,今日毕!

版权声明:本文为[水坚石青]所创,转载请带上原文链接,感谢。 https://blog.csdn.net/helongqiang/article/details/118061417