概述
基于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 车辆管理
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。