基于java實(shí)現(xiàn)租車管理系統(tǒng)
概述
基于java + swing + JFrame 的圖書(shū)館管理系統(tǒng),租車,還車,管理員管理用戶,付款等。
部分代碼
public class Login extends JFrame { private static final long serialVersionUID = 1L; /** * 登錄窗體 */ public Login() { setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); // 設(shè)置頂部提示文字和主窗體的寬,高,x值,y值 setTitle("登錄"); setBounds(300, 300, 300, 280); // 添加一個(gè)cp容器 Container cp = getContentPane(); // 設(shè)置添加的cp容器為流布局管理器 cp.setLayout(null); // 設(shè)置左側(cè)用戶名文字 JLabel jl = new JLabel("用戶名:"); jl.setBounds(10, 10, 200, 18); // 用戶名框 final JTextField name = new JTextField(); //設(shè)置用戶名框的寬,高,x值,y值 name.setBounds(80, 10, 150, 18); // 設(shè)置左側(cè)密碼文字 JLabel jl2 = new JLabel("密碼:"); jl2.setBounds(10, 50, 200, 18); // 密碼框:為加密的*** final JPasswordField password = new JPasswordField(); // 設(shè)置密碼框的寬,高,x值,y值 password.setBounds(80, 50, 150, 18); // 設(shè)置左側(cè)密碼文字 JLabel jl3 = new JLabel("用戶類型:"); jl3.setBounds(10, 90, 200, 18); // 用戶類型選擇框 final JComboBox type = new JComboBox(); type.addItem("普通用戶"); type.addItem("管理員"); // 設(shè)置密碼框的寬,高,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("確定"); // 為確定按鈕添加監(jiān)聽(tīng)事件 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, "用戶名或密碼錯(cuò)誤"); } }); // 設(shè)置確定按鈕的寬,高,x值,y值 jb.setBounds(80, 120, 60, 18); // 將確定按鈕添加到cp容器中 cp.add(jb); // 重置按鈕 final JButton button = new JButton(); button.setText("重置"); // 為重置按鈕添加監(jiān)聽(tīng)事件 // 同時(shí)清空name、password的數(shù)據(jù) button.addActionListener(arg0 -> { name.setText(""); password.setText(""); }); // 設(shè)置重置按鈕的寬,高,x值,y值 button.setBounds(150, 120, 60, 18); getContentPane().add(button); } /** * main方法入口 */ public static void main(String[] args) { // 調(diào)用Login() Login login = new Login(); login.setVisible(true); } }
運(yùn)行配置
1、首先安裝Mysql5.7,設(shè)置用戶名為root,密碼為root,并保證其在運(yùn)行狀態(tài),執(zhí)行sql文件導(dǎo)入數(shù)據(jù)。
2、運(yùn)行main方法即可
概念設(shè)計(jì)
實(shí)現(xiàn)了登錄、租車、還車、查看、管理等功能
Common 為通用包,其中的entity為通用實(shí)體類,jdbc為數(shù)據(jù)庫(kù)連接,utils為工具包
Constant為常量類,包含數(shù)據(jù)庫(kù)連接所需要的參數(shù)和一個(gè)DateFormat
Dao為數(shù)據(jù)庫(kù)增刪改查
Service為組合dao層,實(shí)現(xiàn)界面的操作
Ui為界面設(shè)計(jì)
數(shù)據(jù)庫(kù)E-R圖
功能展示
1. 首頁(yè)登陸
2.1 登錄判斷
2.2 管理員車輛增加
2.3 車輛管理
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
解決springboot 無(wú)法配置多個(gè)靜態(tài)路徑的問(wèn)題
這篇文章主要介紹了解決springboot 無(wú)法配置多個(gè)靜態(tài)路徑的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08Java FileDescriptor總結(jié)_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
FileDescriptor 是“文件描述符”。可以被用來(lái)表示開(kāi)放文件、開(kāi)放套接字等。接下來(lái)通過(guò)本文給大家分享Java FileDescriptor總結(jié),感興趣的朋友一起學(xué)習(xí)吧2017-05-05關(guān)于Controller 層返回值的公共包裝類的問(wèn)題
本文給大家介紹Controller 層返回值的公共包裝類-避免每次都包裝一次返回-InitializingBean增強(qiáng),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧2021-09-09JDK1.8中的ConcurrentHashMap使用及場(chǎng)景分析
這篇文章主要介紹了JDK1.8中的ConcurrentHashMap使用及場(chǎng)景分析,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01Java中網(wǎng)絡(luò)IO的實(shí)現(xiàn)方式(BIO、NIO、AIO)介紹
這篇文章主要介紹了Java中網(wǎng)絡(luò)IO的實(shí)現(xiàn)方式(BIO、NIO、AIO)介紹的相關(guān)資料,需要的朋友可以參考下2017-03-03Java中Stringbuilder和正則表達(dá)式示例詳解
Java語(yǔ)言為字符串連接運(yùn)算符(+)提供特殊支持,并為其他對(duì)象轉(zhuǎn)換為字符串,字符串連接是通過(guò)StringBuilder(或StringBuffer)類及其append方法實(shí)現(xiàn)的,這篇文章主要給大家介紹了關(guān)于Java中Stringbuilder和正則表達(dá)式的相關(guān)資料,需要的朋友可以參考下2024-02-02Java 程序設(shè)計(jì)總復(fù)習(xí)題(java基礎(chǔ)代碼)
這篇文章主要介紹了Java 程序設(shè)計(jì)總復(fù)習(xí)題,主要是java基礎(chǔ)代碼,方便學(xué)習(xí)java的同學(xué)2021-05-05解決java.lang.NullPointerException報(bào)錯(cuò)以及分析出現(xiàn)的幾種原因
這篇文章介紹了解決java.lang.NullPointerException報(bào)錯(cuò)的方法,以及分析出現(xiàn)的幾種原因。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-12-12