【java】汽车租赁系统_结课作业

这篇博客介绍了作者在大二期间使用Java Swing和JFrame从零开始开发的一个汽车租赁系统的经历。文中展示了登录界面和主界面的代码,并提到了在异常处理和界面与功能分离方面的不足。该系统包含用户和管理员登录,以及汽车查询、归还和用户信息查询等功能。
摘要由CSDN通过智能技术生成

大二java课的结课的项目,自己完全从0开始摸索swing、jframe这些的使用,结果当时还是挺满意的。
(那时候也还没有功能和界面分开来的意识,功能全部和界面写在一起了……对于异常的捕获也做得不好,当时请不学计算机的室友来试用了一下,一输入就报错x)
时间:2020-12

部分代码

登录界面

package view;  
import javax.swing.*;  
import javax.swing.plaf.FontUIResource;

import dataConnect.DataBase;

import java.awt.*;  
import java.awt.event.ActionEvent;  
import java.awt.event.ActionListener;  
import java.awt.peer.LightweightPeer;
import java.sql.ResultSet;
import java.util.Enumeration;

public class LoginView extends JFrame implements ActionListener {  
    JTextField nameField=null;  
    JPasswordField passField=null;  
    String valuesString=null;
    JComboBox<String> pmsionBox=null;
    
   public static void main(String[] args) { 
	   LoginView loginView=new LoginView();
    } 
   //登录主界面
    public LoginView()  
    {   JButton enterButton,exitButton=null;  
    	JLabel nameLabel,passLabel,picLabel=null;
    	
    	InitGlobalFont(new Font("微软雅黑", Font.PLAIN, 20));//全局字体设置
    	nameLabel=new JLabel("用户名:");  
    	passLabel=new JLabel("密    码:"); 
    	nameField=new JTextField(10);  
        passField=new JPasswordField(15);  
        enterButton=new JButton("登录");  
        exitButton=new JButton("退出");
        String[] pmsStrings={"用户","管理员"};//登录角色选择
        pmsionBox=new JComboBox<String>(pmsStrings);
        picLabel=new JLabel(new ImageIcon("src/pictures/汽车.png"));
        //监听
        enterButton.addActionListener(this);  
        exitButton.addActionListener(this); 
        //布局
        JPanel p1,p2,p3,p4,p5=null; 
        p1=new JPanel();  
        p2=new JPanel();  
        p3=new JPanel();    
        p4=new JPanel();    
        p5=new JPanel(new GridLayout(3,1));    
        this.setLayout(new BorderLayout());
        this.add(p5,BorderLayout.CENTER);
        picLabel.setBounds(0, 400, 300, 400);
        p4.add(picLabel);
        this.add(p4,BorderLayout.NORTH);
        p5.add(p1);  
        p5.add(p2);  
        p5.add(p3);  
        p1.add(nameLabel); 
        p1.add(nameField); 
        p1.add(pmsionBox);  
        p2.add(passLabel);  
        p2.add(passField);  
        p3.add(enterButton);  	
        p3.add(exitButton);
        p1.setBackground(Color.white);
        p2.setBackground(Color.white);
        p3.setBackground(Color.white);
        p4.setBackground(Color.white);
        //窗口设置
        this.setTitle("汽车租赁系统"); 
        this.setIconImage(new ImageIcon("src/pictures/汽车.png").getImage());  
        this.setSize(700,600);         
        this.setLocationRelativeTo(null);       
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setVisible(true);  
        this.setResizable(true); 
        
    }  
    
    public void actionPerformed(ActionEvent e){  	
        if(e.getActionCommand()=="登录"){ 
        	valuesString=pmsionBox.getSelectedItem().toString();
        	if(valuesString.equals("用户")){
        		userLoginEntrance();
        	}else if(valuesString.equals("管理员")){
        		adLoginEntrance();
        	}
        }else if(e.getActionCommand()=="退出"){  
        	System.exit(0);
        }         
    }  
      
//用户登录入口
public void userLoginEntrance(){
	DataBase dataBase=new DataBase();
    	if(dataBase.searchEnter(nameField.getText(), passField.getText(), "userIform")){
    		
            dataBase.noReturnFunction("UPDATE userIform SET state=1 WHERE user_name=\'"+nameField.getText().trim()+"\'");    
            nameField.setText("");
            passField.setText(""); 
            dispose();
            MainView mainView=new MainView();
           
    	}else{
    		System.out.println(nameField.getText()+passField.getText());
    		JOptionPane.showMessageDialog(null,"  用户名或者密码错误!\n请重新输入","提示消息",JOptionPane.ERROR_MESSAGE);  
    	}
    	
}
//欸嘿我代码没给全 git仓库在最后(转身)(潇洒离去)


主界面

package view;

import java.awt.BorderLayout;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.Panel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Timer;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

import dataConnect.DataBase;

public class MainView extends JFrame implements ActionListener{
	JButton rentButton,searchButton,fixButton,returnButton=null;
	private javax.swing.Timer timer;
	private JLabel timeLabel;
	//主界面
	public MainView(){
		searchButton=new JButton("汽车查询");
		rentButton=new JButton("汽车租赁");
		returnButton=new JButton("汽车归还");
		fixButton=new JButton("用户信息查询");
		timeLabel=new JLabel();
		//监听
		searchButton.addActionListener(this);
		rentButton.addActionListener(this);
		returnButton.addActionListener(this);
		fixButton.addActionListener(this);
		this.addWindowListener(new LoginWindowClose());
		//布局
		JPanel p1,p2,p3;
		JLabel title;
		p1=new JPanel();
		p2=new JPanel(new GridLayout(4,1));
		p3=new JPanel();
		title=new JLabel("汽车租赁系统");
		title.setFont(new Font("隶书",Font.BOLD, 60));
		this.setLayout(new BorderLayout());
		this.add(p1,BorderLayout.NORTH);
		this.add(p2,BorderLayout.CENTER);
		this.add(p3,BorderLayout.SOUTH);
		p1.add(title);
		p2.add(rentButton);
		rentButton.setBounds(0, 0, 100, 100);
		p2.add(searchButton);
		p2.add(returnButton);
		p2.add(fixButton);
		p3.add(timeLabel);
		timer=new javax.swing.Timer(500, new ActionListener(){//时间显示
			@Override
			public void actionPerformed(ActionEvent arg0) {
				timeLabel.setText(new SimpleDateFormat("yyyy年MM月dd日 EEEE hh:mm:ss").format(new Date()));
			}
		});
		timer.start();
	    //窗口设置
        this.setTitle("欢迎使用汽车租赁系统!");     
        this.setIconImage(new ImageIcon("src/pictures/汽车.png").getImage());  
        this.setSize(900,600);         
        this.setLocationRelativeTo(null);       
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);    //设置当关闭窗口时,保证JVM也退出 
        this.setVisible(true);  
        this.setResizable(true);  		
	}	
	//完整代码自己去git下载!别想着直接复制粘贴!(指指点点
}

运行效果

登录

在这里插入图片描述

用户端

用户登录

在这里插入图片描述

汽车租赁

在这里插入图片描述

汽车查询

在这里插入图片描述

汽车归还

在这里插入图片描述

用户信息查询

在这里插入图片描述

管理员端

管理员登录

在这里插入图片描述

汽车更新

在这里插入图片描述
别的功能懒得截图了 大家凑合看
如果有帮助到还请git上留个star~⭐

git:CarRentSystem2012

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值