概述 基于java + swing + JFrame 的图书馆管理系统,租车,还车,管理员管理用户,付款等。 部分代码 public class Login extends JFrame { private static final long serialVersionUID = 1L; /** * 登录窗体 */ pub
概述
基于java + swing + JFrame 的图书馆管理系统,租车,还车,管理员管理用户,付款等。
部分代码
public class Login extends JFrame { private static final long serialVersionUID = 1L; /** * 登录窗体 */ public Login() { setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); // 设置顶部提示文字和主窗体的宽,高,x值,y值 setTitle("登录"); setBounds(300, 300, 300, 280); // 添加一个cp容器 Container cp = getContentPane(); // 设置添加的cp容器为流布局管理器 cp.setLayout(null); // 设置左侧用户名文字 JLabel jl = new JLabel("用户名:"); jl.setBounds(10, 10, 200, 18); // 用户名框 final JTextField name = new JTextField(); //设置用户名框的宽,高,x值,y值 name.setBounds(80, 10, 150, 18); // 设置左侧密码文字 JLabel jl2 = new JLabel("密码:"); jl2.setBounds(10, 50, 200, 18); // 密码框:为加密的*** final JPasswordField password = new JPasswordField(); // 设置密码框的宽,高,x值,y值 password.setBounds(80, 50, 150, 18); // 设置左侧密码文字 JLabel jl3 = new JLabel("用户类型:"); jl3.setBounds(10, 90, 200, 18); // 用户类型选择框 final JComboBox type = new JComboBox(); type.addItem("普通用户"); type.addItem("管理员"); // 设置密码框的宽,高,x值,y值 type.setBounds(80, 90, 150, 18); // 将jl、name、jl2、password、jl3、type添加到容器cp中 cp.add(jl); cp.add(name); cp.add(jl2); cp.add(password); cp.add(jl3); cp.add(type); // 确定按钮 JButton jb = new JButton("确定"); // 为确定按钮添加监听事件 jb.addActionListener(arg0 -> { if (name.getText().trim().length() == 0 || new String(password.getPassword()).trim().length() == 0) { JOptionPane.showMessageDialog(null, "用户名密码不允许为空"); return; } UserService userService = new UserServiceImpl(); User user = userService.selectUserByParams(name.getText().trim(), new String(password.getPassword()).trim(), (String) type.getSelectedItem()); if (null != user) { JOptionPane.showMessageDialog(null, "登录成功"); EventQueue.invokeLater(() -> { try { MainFrame frame = new MainFrame(user); frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } }); } else { JOptionPane.showMessageDialog(null, "用户名或密码错误"); } }); // 设置确定按钮的宽,高,x值,y值 jb.setBounds(80, 120, 60, 18); // 将确定按钮添加到cp容器中 cp.add(jb); // 重置按钮 final JButton button = new JButton(); button.setText("重置"); // 为重置按钮添加监听事件 // 同时清空name、password的数据 button.addActionListener(arg0 -> { name.setText(""); password.setText(""); }); // 设置重置按钮的宽,高,x值,y值 button.setBounds(150, 120, 60, 18); getContentPane().add(button); } /** * main方法入口 */ public static void main(String[] args) { // 调用Login() Login login = new Login(); login.setVisible(true); } }
运行配置
1、首先安装Mysql5.7,设置用户名为root,密码为root,并保证其在运行状态,执行sql文件导入数据。
2、运行main方法即可
概念设计
实现了登录、租车、还车、查看、管理等功能
Common 为通用包,其中的entity为通用实体类,jdbc为数据库连接,utils为工具包
Constant为常量类,包含数据库连接所需要的参数和一个DateFormat
Dao为数据库增删改查
Service为组合dao层,实现界面的操作
Ui为界面设计
数据库E-R图
功能展示
1. 首页登陆
2.1 登录判断
2.2 管理员车辆增加
2.3 车辆管理
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。