Java+Swing+Mysql实现停车场管理系统
Java+Swing+Mysql实现停车场管理系统一、系统介绍1.系统功能2.环境配置3.数据库表4.工程截图二、系统展示1.登录页2.用户-主页3.用户-信息管理-计费标准4.用户-信息管理-当前在场信息5.用户-信息管理-用户历史信息6.用户-信息管理-用户个人信息7.用户-信息管理-出入场信息8.用户-信息管理-当前可用车位9.用户-系统管理-修改密码10.用户-系统管理-关于11.管理员-
一、系统介绍
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.鸡汤
今日事,今日毕!
更多推荐
所有评论(0)