Java基础课程设计,通过CS模式实现汽车销售管理系统
利用Java和MySQL语言,通过MVC模式和GUI编程,实现基于CS架构的汽车销售信息管理,实现增删改查功能
Java原生MVC
类名 | 解释 |
---|---|
CarDao.java | 汽车信息dao层 |
GuestDao.java | 客户信息dao层 |
SaleDao.java | 销售信息dao层 |
UserDao.java | 管理员信息dao层 |
WorkerDao.java | 员工信息dao层 |
类名 | 解释 |
---|---|
CarController.java | 汽车信息控制层 |
GuestController.java | 客户信息控制层 |
SaleController.java | 销售信息控制层 |
UserController.java | 管理员控制层 |
WorkerController.java | 员工信息控制层 |
类名 | 解释 |
---|---|
CarView.java | 汽车信息视图层 |
GuestView.java | 客户信息视图层 |
SaleView.java | 销售信息视图层 |
WorkerView.java | 员工信息视图层 |
类名 | 解释 |
---|---|
Car.java | 汽车实体类 |
Guest.java | 客户实体类 |
Sale.java | 销售信息实体类 |
User.java | 管理员实体类 |
Worker.java | 员工实体类 |
类名 | 解释 |
---|---|
Login.java | 登录界面视图层 |
MenuBar.java | 菜单栏工具类 |
MainFrame.java | 项目主界面视图层 |
项目主界面视图层
package com.view;
public class MainFrame {
JFrame main = new JFrame("Car Sale System");
Container container = main.getContentPane();
public void MainGUI() {
new FrameOption(main);
new BackgroundImage(main, container, "MainBackground.jpg");
new MenuBar(main);
}
}
类名 | 解释 |
---|---|
BackgroundImage.java | 背景图片工具类 |
DBUtil.java | 数据库工具类 |
FrameOption.java | 主界面相关设置工具类 |
SetScrollPane.java | 单元格设置工具类 |
SetTable.java | 表格设置工具类 |
背景图片工具类,用于设置界面的背景图片和背景样式等信息。
内有详细注释不过多的诉说。
package com.utils;
// 背景图片设置
public class BackgroundImage {
public BackgroundImage(JFrame frame,Container container,String ImageName) {
// 限定加载图片路径
ImageIcon icon= new ImageIcon("res/" + ImageName);
final JLabel labelBackground = new JLabel();
ImageIcon iconBookManageSystemBackground = icon;
labelBackground.setIcon(iconBookManageSystemBackground);
// 设置label的大小
labelBackground.setBounds(0,0,iconBookManageSystemBackground.getIconWidth()
,iconBookManageSystemBackground.getIconHeight());
//将背景图片标签放入桌面面板的最底层
frame.getLayeredPane().add(labelBackground,new Integer(Integer.MIN_VALUE));
// 将容器转换为面板设置为透明
JPanel panel = (JPanel)container;
panel.setOpaque(false);
}
}
数据库工具类,主要用于加载配置文件连接数据库,未使用连接池,直连状态。
public class DBUtil {
private static String driverName;
private static String url;
private static String name;
private static String password;
static {
Properties properties = new Properties();
// 新建properties文件数据流
InputStream inputStream = DBUtil.class.getClassLoader().getResourceAsStream("dbconfig.properties");
try {
properties.load(inputStream);
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
driverName = (String) properties.get("driverName");
url = (String) properties.get("url");
name = (String) properties.get("name");
password = (String) properties.get("password");
try {
//加载JDBC驱动
Class.forName(driverName);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static Connection getConnection() {
Connection con = null;
try {
// 建立数据库连接
con = DriverManager.getConnection(url, name, password);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return con;
}
public static void close(Connection connection, Statement statement, ResultSet resultSet) {
if (resultSet != null) {
try {
resultSet.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (statement != null) {
try {
statement.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (connection != null) {
try {
connection.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
主界面相关设置工具类
package com.utils;
import javax.swing.JFrame;
public class FrameOption {
public FrameOption(JFrame main) {
// TODO Auto-generated constructor stub
main.setSize(900, 600);
main.setLocationRelativeTo(null);
main.setResizable(false);// 禁止修改窗口大小
main.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
main.setVisible(true);
}
}
单元格设置工具类
package com.utils;
public class SetScrollPane {
public SetScrollPane(JScrollPane scrollPane,JTable table) {
// TODO Auto-generated method stub
// 将JScrollPane设置为透明
scrollPane.setOpaque(false);
//将viewport设置为透明
scrollPane.getViewport().setOpaque(false);
//转载table
scrollPane.setViewportView(table);
//设置头部透明
scrollPane.setColumnHeaderView(table.getTableHeader());
scrollPane.getColumnHeader().setOpaque(false);
// 设置滚动条位置
scrollPane.setBounds(50, 50, 800, 250);
}
}
表格设置工具类
package com.utils;
public class SetTable {
public SetTable(JScrollPane scrollPane,JTable table,String[] columnNames,JFrame main) {
DefaultTableCellRenderer r = new DefaultTableCellRenderer();
r.setHorizontalAlignment(DefaultTableCellRenderer.CENTER);
table.setDefaultRenderer(Object.class, r);
// 自动调整列表状态
table.setAutoResizeMode(JTable.AUTO_RESIZE_NEXT_COLUMN);
//设置表格数据颜色
table.setForeground(Color.green);
table.setBackground(Color.black);
table.setOpaque(false);//将table设置为透明
scrollPane.setOpaque(false);//将scrollPane根面板设置为透明
scrollPane.getViewport().setOpaque(false);//将scrollPane的viewport设置为透明
// 设置滚动条位置
scrollPane.setBounds(50, 50, 800, 250);
main.add(scrollPane);
}
}
项目主启动类,程序启动运行入口
package com.main;
import com.view.Login;
public class Main {
public static void main(String[] args) {
Login lg =new Login();
lg.loginGUi(null);
}
}
driverName=com.mysql.jdbc.Driver
url=jdbc/:mysql/://127.0.0.1/:3306/carsalesystem?useSSL=false
name=root
password=toor
https://gitee.com/ghostguest/CarSaleManageSystem