package User;
import Main.Login;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.*;
public class UserClient extends JFrame implements ActionListener {
//用户界面
JTable table;
JLabel label1;
Object data[][]; //存储表格数据的二维数组
Object column[] = {"编号", "车型", "车牌", "价格", "是否被租", "租用天数"}; //显示表格对应条目名称
JButton buttonOfUndo, buttonOfChange, buttonOfAble, buttonOfBrowse, buttonOfRent, buttonOfLogout, buttonOfRentCount, buttonOfMine;
Box boxLeft, boxRight;
JTextField fieldOfRent, fieldOfChange, fieldOfUndo;
JPanel jPanelLeft, jPanelRight;
Connection con = null;
Statement state = null;
ResultSet rs = null; //执行JDBC相关操作
String userName;
public UserClient(String userName) {
init();
setVisible(true);
setBounds(350, 200, 600, 510);
setTitle("欢迎使用汽车租赁系统");
this.userName = userName;
}
void init() {
label1 = new JLabel(""); //空出一行让界面不那么紧凑
buttonOfAble = new JButton("可租车辆");
buttonOfAble.addActionListener(this);
buttonOfBrowse = new JButton("全部车辆");
buttonOfBrowse.addActionListener(this);
buttonOfRent = new JButton(" 租 车 ");
buttonOfRent.addActionListener(this);
buttonOfChange = new JButton(" 换 车 ");
buttonOfChange.addActionListener(this);
buttonOfUndo = new JButton(" 退 租 ");
buttonOfUndo.addActionListener(this);
buttonOfMine = new JButton(" 我租的车 ");
buttonOfMine.addActionListener(this);
buttonOfRentCount = new JButton(" 总租金 ");
buttonOfRentCount.addActionListener(this);
buttonOfLogout = new JButton(" 退出登录 ");
buttonOfLogout.addActionListener(this);
fieldOfRent = new JTextField(9);
fieldOfChange = new JTextField(9);
fieldOfUndo = new JTextField(9);
fieldOfRent.setHorizontalAlignment(JTextField.CENTER);
fieldOfChange.setHorizontalAlignment(JTextField.CENTER);
fieldOfUndo.setHorizontalAlignment(JTextField.CENTER); //设置输入框对齐方式为居中
data = new Object[50][6];
table = new JTable(data, column);//组件的创建
table.setEnabled(false);
JScrollPane scrollPane = new JScrollPane(table);
buttonOfBrowse.setPreferredSize(new Dimension(36, 27));
buttonOfRentCount.setPreferredSize(new Dimension(36, 27));
buttonOfMine.setPreferredSize(new Dimension(36, 27));
buttonOfRent.setPreferredSize(new Dimension(36, 27));
buttonOfAble.setPreferredSize(new Dimension(40, 27));
buttonOfLogout.setPreferredSize(new Dimension(36, 27));
buttonOfChange.setPreferredSize(new Dimension(36, 27));
buttonOfUndo.setPreferredSize(new Dimension(36, 27)); //统一按钮样式
boxLeft = Box.createVerticalBox();
boxLeft.add(Box.createVerticalStrut(25));
boxLeft.add(buttonOfAble);
boxLeft.add(Box.createVerticalStrut(10));
boxLeft.add(buttonOfBrowse);
boxLeft.add(Box.createVerticalStrut(28));
boxLeft.add(fieldOfRent);
boxLeft.add(Box.createVerticalStrut(5));
boxLeft.add(buttonOfRent);
boxLeft.add(Box.createVerticalStrut(15));
boxLeft.add(fieldOfChange);
boxLeft.add(Box.createVerticalStrut(5));
boxLeft.add(buttonOfChange);
boxLeft.add(Box.createVerticalStrut(15));
boxLeft.add(fieldOfUndo);
boxLeft.add(Box.createVerticalStrut(5));
boxLeft.add(buttonOfUndo);
boxLeft.add(Box.createVerticalStrut(27));
boxLeft.add(buttonOfMine);
boxLeft.add(Box.createVerticalStrut(12));
boxLeft.add(buttonOfRentCount);
boxLeft.add(Box.createVerticalStrut(12));
boxLeft.add(buttonOfLogout);
boxRight = Box.createHorizontalBox();
boxRight.add(Box.createHorizontalStrut(5));
boxRight.add(boxLeft); //左边的按钮部分用 box布局
jPanelLeft = new JPanel();
jPanelRight = new JPanel();
jPanelLeft.setLayout(new BorderLayout());
jPanelLeft.add(boxRight, BorderLayout.NORTH);//把左边的按钮部分放到jPanelLeft中。
jPanelRight.setLayout(new BorderLayout());
jPanelRight.add(label1, BorderLayout.NORTH);
jPanelRight.add(scrollPane, BorderLayout.CENTER);//把表格 放JPanelRight里
this.setLayout(new BorderLayout());
add(jPanelRight, BorderLayout.EAST);
add(jPanelLeft, BorderLayout.WEST);//把两个大的Panel放到窗口里面
}
public void browseInfo() {
int i = 0;
while (i < 50) {
data[i][0] = " ";
data[i][1] = " ";
data[i][2] = " ";
data[i][3] = " ";
data[i][4] = " ";
data[i][5] = " ";
i++;
}
i = 0;
this.connectDB();
try {
state = con.createStatement();
String sql = "select * from car_info";
rs = state.executeQuery(sql);
while (rs.next()) {
String ID = rs.getString("ID");
String carType = rs.getString("carType");
String license = rs.getString("license");
String price = rs.getString("price");
String days = rs.getString("days");
String isHire = rs.getString("isHire");
data[i][0] = ID;
data[i][1] = carType;
data[i][2] = license;
data[i][3] = price;
data[i][4] = days;
data[i][5] = isHire;
i++;
}
this.closeDB();
repaint();
} catch (SQLException e1) {
e1.printStackTrace();
}
this.closeDB();
}
@Override
public void actionPerformed(ActionEvent e) {
Object source = e.getSource();
if (source == buttonOfAble) //可租用车辆按钮
{
int flag = 0; //用来判断有没有没被租用的车辆,如果能返回 “否” 值(未被租用车辆)的集,则赋值为 1
int i = 0;
while (i < 50) {
data[i][0] = " ";
data[i][1] = " ";
data[i][2] = " ";
data[i][3] = " ";
data[i][4] = " ";
data[i][5] = " ";
i++;
}
i = 0; //i 赋值为0, 为下面的循环做准备
this.connectDB();
try {
state = con.createStatement();
String sql = "select * from car_info where isHire= '否';";//查询表里面 没被租用的车辆
rs = state.executeQuery(sql);
while (rs.next()) //把查询到的信息写入右边的表格中
{
String ID = rs.getString("ID");
String carType = rs.getString("carType");
String license = rs.getString("license");
String price = rs.getString("price");
String days = rs.getString("days");
String isHire = rs.getString("isHire");
data[i][0] = ID;
data[i][1] = carType;
data[i][2] = license;
data[i][3] = price;
data[i][4] = isHire;
data[i][5] = days;
i++;
flag = 1;
}
this.closeDB();
repaint();//刷新一下
} catch (SQLException e1) {
e1.printStackTrace();
}
if (flag == 0) {
JOptionPane.showMessageDialog(null, "车辆都已被租用!");
}
} el
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【购买前请务必看一下这个文章!】:https://gitee.com/saodai/blog/blob/master/README.md 运行效果展示地址:https://blog.csdn.net/qq_50954361/article/details/130116158 购买后有三天售后服务!!!有非常详细的教程指导大家如何在自己电脑上面运行起来【购买后赠送教程】!!!以下还有内容要展开看~ 每个付费系统资源压缩包都包含源代码+数据库脚本sql!!! 这些系统是我接单的时候留下的源码,现在挂在CSDN的付费资源上作为一个睡后收益!这些系统都是可以正常运行的!因为这些系统之前都交付给顾客了!顾客们也都跑起来了! 无论是用IDEA还是用eclipse跑都是可以跑起来的!只需要根据我写的部署教程即可在自己的电脑上把系统运行起来! 我接单开发的系统的界面风格都是最原始的!也就是没有去美化!因为这样更符合顾客的水平!做太好太漂亮老师会怀疑甚至挂科!这就得不偿失了! 据我接单的经验,通常这样的系统对于过Java课设来说是完全够了!
资源推荐
资源详情
资源评论
收起资源包目录
租车系统.zip (33个子文件)
租车系统
src
Main
RentSysMgr.java 160B
Login.java 7KB
User
UserClient.java 21KB
Register.java 10KB
Admin
AdminCheck.java 8KB
AdminClient.java 10KB
AdminAdd.java 6KB
租车系统.iml 433B
out
production
租车系统
Main
Login.class 6KB
RentSysMgr.class 416B
User
Register.class 5KB
UserClient.class 13KB
Admin
AdminCheck.class 7KB
AdminAdd.class 6KB
AdminClient.class 8KB
rental.sql 3KB
.idea
codeStyles
codeStyleConfig.xml 153B
Project.xml 1KB
workspace.xml 6KB
misc.xml 279B
modules.xml 271B
.gitignore 184B
encodings.xml 837B
img
IV1XUAY3AX@R~OQ`5H}LSL5.png 7KB
TJ{G92)OQP5SS3{Z97JKYUW.png 19KB
WRT`VVLAWP7FXZITC(9QL{M.png 10KB
GJXHT~SX698%9$K0YGVDHG4.png 7KB
TIHG`4$CT{2(F1QLB]4ZUQA.png 22KB
_Y]MS)RU@_FVS$)ZGC@QI15.png 13KB
8KJ7BBFTK8I~I5X%L(WG6}1.png 22KB
K4A})13G1YVI15_`YW@%BSG.png 9KB
TYH~EB1K{OEJ1{WZZD4MPUU.png 7KB
登录的账号密码 108B
共 33 条
- 1
资源评论
- TRACY.772024-05-08资源使用价值高,内容详实,给了我很多新想法,感谢大佬分享~
茶叶蛋xq
- 粉丝: 1w+
- 资源: 190
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- BDD,Python 风格 .zip
- 个人原创STM32F1 BOOTLOADER,主控芯片为STM32F103VET6
- Alpaca 交易 API 的 Python 客户端.zip
- 基于Django与讯飞开放平台的ACGN文化交流平台源码
- 中国象棋(自行初步设计)
- 微信小程序实现找不同游戏
- 100_Numpy_exercises.ipynb
- 2023-04-06-项目笔记 - 第三百二十六阶段 - 4.4.2.324全局变量的作用域-324 -2025.11.23
- 一个简单的模板,开始用 Python 编写你自己的个性化 Discord 机器人.zip
- TP-Link 智能家居产品的 Python API.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功