基于JavaSwing+mysql開發(fā)一個(gè)學(xué)生社團(tuán)管理系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)
前言:
項(xiàng)目是使用Java swing+mysql開發(fā),可實(shí)現(xiàn)基礎(chǔ)數(shù)據(jù)維護(hù)、用戶登錄注冊、社團(tuán)信息列表查看、社團(tuán)信息添加、社團(tuán)信息修改、社團(tuán)信息刪除以及退出注銷等功能、界面設(shè)計(jì)比較簡單易學(xué)、適合作為Java課設(shè)設(shè)計(jì)以及學(xué)習(xí)技術(shù)使用。
引言
隨著全球信息化的迅猛發(fā)展,高效規(guī)模不斷壯大,協(xié)會人數(shù)急劇增加,有必要開發(fā)一個(gè)學(xué)生社團(tuán)管理系統(tǒng)來提高社聯(lián)對社團(tuán)的管理效率,學(xué)生社團(tuán)管理系統(tǒng)將逐漸取代傳統(tǒng)的人工管理模式。本文采用Java+swing+mysql作為開發(fā)技術(shù),以Java為編程語言,開發(fā)一個(gè)基javaSwing的學(xué)生社團(tuán)管理系統(tǒng)。該系統(tǒng)可以對社團(tuán)工作進(jìn)行快速、高效的管理,為社團(tuán)之間和社團(tuán)會員之間提供一個(gè)良好的信息交流的平臺,讓社團(tuán)成員可以展示自己的風(fēng)采,及時(shí)了解社團(tuán)的新動(dòng)態(tài),營造一個(gè)現(xiàn)代化的學(xué)習(xí)生活環(huán)境。
主要技術(shù)和工具:
eclipse+JDK1..8+Navicat 數(shù)據(jù)庫可視化工具+swing +mysql
功能截圖:
用戶登錄注冊:
用戶輸入賬號密碼進(jìn)行登錄、沒注冊的用戶點(diǎn)擊注冊按鈕進(jìn)行用戶信息注冊、注冊后即可成功登錄查看社團(tuán)信息。
社團(tuán)列表查看:
社團(tuán)信息添加:
錄入社團(tuán)相關(guān)信息完成社團(tuán)添加操作
社團(tuán)信息修改:
社團(tuán)信息刪除:
注銷退出:
注銷退出執(zhí)行頁面關(guān)閉操作。
關(guān)鍵代碼:
用戶登錄:
/** * 登錄主界面 * @author admin * */ public class LoginFrame extends JFrame { private static final long serialVersionUID = 1L; // 登錄背景和 Logo 圖片顏色 Color logoPaneColor = new Color(230, 230, 250); Color mainPaneColor = new Color(230, 230, 250); Color mainFrameColor = new Color(186, 110, 64); Color logoFramColor = new Color(186, 110, 64); JLayeredPane layeredPane = new JLayeredPane(); // 面板層 ImageIcon bgImage = new ImageIcon("./img/bgImage.png"); // 背景圖片 ImageIcon lgImage = new ImageIcon("./img/login1.png"); // 登錄圖片 JPanel bgPanel = new JPanel(); // 背景面板 JPanel mainPanel = new JPanel(); // 登陸面板 JPanel logoPanel = new JPanel(); // 企業(yè)logo final JLabel user_name = new JLabel("用戶名:"); // 登錄標(biāo)簽 final JLabel user_password = new JLabel("密 碼:");// 密碼標(biāo)簽 JButton button_ok = new JButton("登陸"); // 確認(rèn)按鈕 JButton btRegister=new JButton("注冊"); // 注冊按鈕 JButton button_cansel = new JButton("退出");// 退出按鈕 JTextField text_name = new JTextField(""); // 登陸用戶名 JPasswordField text_password = new JPasswordField(""); // 登陸密碼 JFrame loginFrame = null; // 登錄窗口類 /** * 登錄按鈕點(diǎn)擊監(jiān)聽類:收集登錄信息,并校驗(yàn);校驗(yàn)成功,則進(jìn)入系統(tǒng)主頁面 * @author admin * */ class LoginOKAction implements ActionListener { public void actionPerformed(ActionEvent e) { String userName = text_name.getText(); String password = new String(text_password.getPassword()); // 判空操作 if(userName.equals("") || password.equals("")) { // 彈出提示信息,操作結(jié)束 JOptionPane.showMessageDialog(loginFrame, "登錄用戶名和密碼不能為空!", "提示", JOptionPane.PLAIN_MESSAGE); return; } // 根據(jù)用戶名和密碼進(jìn)行查詢 boolean flag = UserManager.login(userName, password); // 校驗(yàn)失敗,返回 if(!flag) { JOptionPane.showMessageDialog(loginFrame, "登錄用戶名不匹配!", "提示", JOptionPane.PLAIN_MESSAGE); return; } // 成功,進(jìn)入主頁 setVisible(false); new MainFrame().setVisible(true); } } /** * 登錄 Frame 的構(gòu)造函數(shù) */ public LoginFrame() { super("學(xué)生社團(tuán)管理系統(tǒng)"); initialize(); this.loginFrame = this; } /** * 程序 main 函數(shù) * @param args */ public static void main(String[] args) { // 創(chuàng)建登錄 Frame 進(jìn)入應(yīng)用登錄頁面 new LoginFrame(); } }
添加社團(tuán)信息:
public class AddFrame extends AbstractFormFrame { private static final long serialVersionUID = 1L; /** * 主界面配置 */ public AddFrame() { super("添加"); // 居中 GUIUtil.toCenter(this); } @Override public void submit(CommunityInfo community) { // 判唯一 CommunityInfo tmp = CommunityManager.queryOne(community.getName()); if (tmp != null) { JOptionPane.showMessageDialog(this, "社團(tuán)名稱已存在!"); return; } // 添加到記錄列表 CommunityManager.add(community); // 提示 JOptionPane.showMessageDialog(this, "添加成功!"); } }
備注:項(xiàng)目來于網(wǎng)絡(luò)、作者整理優(yōu)化測試、若有侵權(quán)聯(lián)系作者刪除
總結(jié):
經(jīng)過近期對 java 相關(guān)知識面向?qū)ο蟪绦蛟O(shè)計(jì)、Java swing等的掌握和學(xué)習(xí),讓我更加了解到 java 學(xué)習(xí)的重要性。在開發(fā)這個(gè)社團(tuán)系統(tǒng),我完成多個(gè)實(shí)驗(yàn)以及測試,在這個(gè)階段的學(xué)習(xí)開發(fā)中,我從認(rèn)識到熟悉,而后到能夠自主運(yùn)用。通過對 java swing知識以及數(shù)據(jù)庫的設(shè)計(jì)相關(guān)的了解,我發(fā)現(xiàn)它確實(shí)有很多方便之處,它集抽象性、封裝性、繼承性和多態(tài)性于一體,實(shí)現(xiàn)了代碼重用和代碼擴(kuò)充,提高了軟件開發(fā)的效率。對于我們這個(gè)專業(yè)來說學(xué)好 java 語言是很重要的,所以在開發(fā)這個(gè)項(xiàng)目的過程中我都盡力理解 java 編程思想、掌握基本技巧,盡量學(xué)到最多的知識。 我學(xué)習(xí)程序設(shè)計(jì)的基本目的就是培養(yǎng)描述實(shí)際問題的程序化解決方案的關(guān)鍵技能,總體來說 java 面向?qū)ο蟪绦蛟O(shè)計(jì)是一門實(shí)踐性比較強(qiáng)的語言。
到此這篇關(guān)于基于JavaSwing+mysql開發(fā)一個(gè)學(xué)生社團(tuán)管理系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Java學(xué)生社團(tuán)管理系統(tǒng)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
RocketMQ?offset確認(rèn)機(jī)制示例詳解
這篇文章主要為大家介紹了RocketMQ?offset確認(rèn)機(jī)制示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09SpringBoot使用JavaCV處理rtsp流的示例代碼
這篇文章主要為大家詳細(xì)介紹了SpringBoot使用JavaCV處理rtsp流,文中的示例代碼講解詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴可以跟隨小編一起了解一下2024-02-02解決CollectionUtils.isNotEmpty()不存在的問題
這篇文章主要介紹了解決CollectionUtils.isNotEmpty()不存在的問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02