国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

JAVA+GUI界面+MysSQL的學(xué)生信息管理系統(tǒng)

這篇具有很好參考價(jià)值的文章主要介紹了JAVA+GUI界面+MysSQL的學(xué)生信息管理系統(tǒng)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

學(xué)生信息管理系統(tǒng)

一、背景及目的要求

本文將介紹如何使用Java Swing GUI庫(kù)和MySQL數(shù)據(jù)庫(kù)來(lái)編寫一個(gè)簡(jiǎn)單的學(xué)生信息管理系統(tǒng),同時(shí)也將講解GUI的基本布局、事件處理和MySQL數(shù)據(jù)庫(kù)的連接、數(shù)據(jù)操作等知識(shí)。編寫java和sql語(yǔ)句需要安裝JDKMySQL數(shù)據(jù)庫(kù)。

二、設(shè)計(jì)思路

首先是系統(tǒng)登錄界面,用戶選擇賬號(hào)類型(教師賬號(hào)、學(xué)生賬號(hào)、管理員賬號(hào))。如果賬號(hào)和密碼與數(shù)據(jù)庫(kù)系統(tǒng)中的賬號(hào)數(shù)據(jù)一致,則成功進(jìn)入系統(tǒng);如果賬戶不正確則彈出密碼錯(cuò)誤窗口,當(dāng)密碼錯(cuò)誤三次,登錄界面鎖死無(wú)法再次登錄。
學(xué)生賬號(hào)登錄成功:進(jìn)入學(xué)生信息管理系統(tǒng),可選擇查看個(gè)人信息并修改、查看個(gè)人所有科目成績(jī)、選擇下學(xué)期的課程、退出登錄功能。
老師賬號(hào)登錄成功:進(jìn)入教師管理系統(tǒng),可以選擇查看個(gè)人信息并修改、查看各班級(jí)各學(xué)科所有學(xué)生成績(jī)、查詢教學(xué)工作、錄入學(xué)生的成績(jī)、退出登錄功能。
管理員賬戶登錄成功,進(jìn)入管理員系統(tǒng),可選擇增加或刪除學(xué)生、增加或刪除教師、增加或者刪除課程、退出登錄功能。

附:功能流程圖

2、教師登錄成功后,有以下功能:(登錄界面用jframe),java,數(shù)據(jù)庫(kù),mysql,開(kāi)發(fā)語(yǔ)言,后端

附:E-R圖

2、教師登錄成功后,有以下功能:(登錄界面用jframe),java,數(shù)據(jù)庫(kù),mysql,開(kāi)發(fā)語(yǔ)言,后端

三、設(shè)計(jì)實(shí)現(xiàn)及代碼分析

系統(tǒng)所有程序都在一個(gè)學(xué)生信息管理系統(tǒng)包,共有九個(gè)類。代碼過(guò)于繁多僅展示主要內(nèi)容的部分組件屬性(絕對(duì)位置、顏色、字體、加入監(jiān)聽(tīng)等)設(shè)計(jì)在此處不再展示。
(一)數(shù)據(jù)庫(kù)連接類(Shujuku.java)用來(lái)連接關(guān)閉數(shù)據(jù)庫(kù)。

public class Shujuku {
public Shujuku() {		
		try { 
Class.forName("com.mysql.jdbc.Driver");				DriverManager.getConnection("jdbc:mysql://localhost:3306/stusystem","root","gyq4674");
		} catch (Exception e) {
			e.printStackTrace();
	}   }
public static Connection getConnection() {	//連接
try {			
Return DriverManager.getConnection("jdbc:mysql://localhost:3306/stu
system","root","gyq4674");
		} catch (SQLException e) {
			e.printStackTrace(); }
	}
		return null;		
	}
public static void close(Connection conn, Statement statement, ResultSet result) {//釋放資源
	try {  if (result != null) {   result.close(); }			
			if(statement != null) {  	statement.close(); }	
			if(conn!=null) {	  conn.close(); }
} catch (SQLException e) {     e.printStackTrace();
}	}	}

(二)是數(shù)據(jù)庫(kù)登錄GUI界面代碼
系統(tǒng)登錄:登陸界面設(shè)計(jì)的類(LoginGUI.java)和數(shù)據(jù)庫(kù)連(Shujukull.java),使用Swing中各類型組件設(shè)計(jì)登陸界面,單選按鈕確定用戶類別,監(jiān)聽(tīng)“確認(rèn)”按鈕并運(yùn)行查看數(shù)據(jù)庫(kù)admin表的用戶賬戶密碼是否與輸入的一致。密碼正確則利用多線程的休眠sleep語(yǔ)句延緩1.5秒執(zhí)行“提示密碼正確面板”語(yǔ)句,而后進(jìn)入對(duì)應(yīng)的分系統(tǒng)。

public class LoginGUI {
static String account=null;
static String ypass=null;
static int num;
static String role="學(xué)生" ;//定義默認(rèn)登錄角色為學(xué)生
public void denglu() {
	JFrame jf = new JFrame("登錄界面");
		jf.setBounds(500, 300, 600, 450);
		jf.setLayout(null);
		jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		JLabel l = new JLabel("歡迎登錄學(xué)生信息管理系統(tǒng)");//歡迎語(yǔ)
		jf.add(l);
		ButtonGroup bg=new ButtonGroup();//對(duì)象選擇
		JRadioButton jb1=new JRadioButton("學(xué)生",true);
		JRadioButton jb2=new JRadioButton("教師",false);
		JRadioButton jb3=new JRadioButton("管理員",false);
		ActionListener actionListener=new ActionListener() {//對(duì)角色按鈕監(jiān)聽(tīng)   @Override
	public void actionPerformed(ActionEvent e) {		
	if(e.getActionCommand().equals("教師")) {   role="教師";	
		}else if(e.getActionCommand().equals("管理員")) {role="管理員";
}else {role="學(xué)生";
} } };		
		JLabel l1 = new JLabel("用戶名:");	//賬戶密碼
		JLabel l2 = new JLabel("密  碼:");
		JTextField txt1 = new JTextField("");
JPasswordField pass = new JPasswordField("");//密碼框*號(hào)
		pass.setEchoChar('*');
		jf.add(l1);	jf.add(l2);jf.add(txt1);	jf.add(pass);
		jf.setVisible(true);
		JButton btn = new JButton("登錄");
		btn.addActionListener(new ActionListener() {
		@Override
		public void actionPerformed(ActionEvent e) {
			boolean b=false;
			Connection con=學(xué)生信息管理系統(tǒng).Shujuku.getConnection();			Statement st = null;
			ResultSet rs = null;
			try { st=con.createStatement();
			rs = st.executeQuery("SELECT * FROM accpass WHERE uso='"+txt1.getText()+"'AND role='"+role+"'");
			while(rs.next()) {//只有在遍歷時(shí)才能用geystring			if(rs.getString("pass").equals(String.valueOf(pass.getPassword()))) {			b=true;
}}} catch (SQLException e1) {
 e1.printStackTrace();
}finally{  Shujuku.close(con, st, rs);
}			num++;//密碼輸入次數(shù)
if(b==false) {					
			if (num >=3 ) {
			JOptionPane.showMessageDialog(jf, "您已經(jīng)輸錯(cuò)三次!"+"\n"+" 此賬戶已凍結(jié)!");//彈出消息框
			txt1.setEditable(false);// 鎖住文本框
			pass.setEditable(false);					
			}else { 
JOptionPane.showMessageDialog(jf, "密碼錯(cuò)誤");
				}	}
			if (b) {// 登錄成功頁(yè)面					
				num=0;
				jf.setVisible(false);
				JFrame jf1 = new JFrame();
				JLabel lb1 = new JLabel("用戶名&密碼正確");
				JLabel lb2 = new JLabel("正在登錄中.....");
				f1.setVisible(true);
			new Thread(){//延時(shí)頁(yè)面
				public void run(){
					try {
					 Thread.sleep(1000);
						jf1.setVisible(false);// 進(jìn)入主頁(yè)面
					if(role.equals("學(xué)生")) {
					new StudentZhuGUI().zhu(txt1.getText(),"學(xué)生");						}if(role.equals("教師")) {
						newTeacherZhuGUI().zhu(txt1.getText());							}if(role.equals("管理員")) {
						new AdminZhuGUI().zhu(txt1.getText());
						}		
						} catch (InterruptedException e) { }}
					}.start(); 
				}}});
		JButton btn2 = new JButton("取消");//關(guān)閉系統(tǒng)
		btn2.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				System.exit(0);
			}});
		jf.add(btn);
		jf.add(btn2);
	}}

(三)學(xué)生系統(tǒng)主頁(yè)面
學(xué)生管理系統(tǒng):學(xué)生系統(tǒng)GUI界面設(shè)計(jì)類(StudentZhuGUI.java)、操作接口類(Student_interf.java)、接口實(shí)現(xiàn)類(Student_interf_imp.java)。系統(tǒng)的GUI界面,使用JFrame的BorderLayout布局的北邊欄作為導(dǎo)航界面(JPanel使用流式布局添加四個(gè)功能以及首頁(yè)和退出按鈕)。在接口實(shí)現(xiàn)類里重寫三個(gè)功能方法,各個(gè)方法里編寫所需的GUI界面以及功能實(shí)現(xiàn)代碼和SQL語(yǔ)句,方法的返回值類型為JPanel,在StudentZhuGUI.java界面接收其返回值并根據(jù)監(jiān)聽(tīng)的按鈕切換JFrame的中間主面板。

public class StudentZhuGUI {//學(xué)生系統(tǒng)
	public void zhu(String stuno,String role) {//學(xué)生首頁(yè)面,		JFrame jf = new JFrame("學(xué)生信息管理系統(tǒng)");
		JPanel jpn1=new JPanel();	//頁(yè)首
		JLabel jb=new JLabel("學(xué)生信息系統(tǒng)",0);
		JButton jbt1=new JButton("首    頁(yè)");
		JButton jbt2=new JButton("個(gè)人信息");
		JButton jbt3=new JButton("查詢成績(jī)");
		JButton jbt4=new JButton("網(wǎng)上選課");
		JButton jbt5=new JButton("退    出");
		jpn1.add(jbt1);jpn1.add(jbt2);
	jpn1.add(jbt3);jpn1.add(jbt4);
		jpn1.add(jbt5);	jf.add(jpn1,BorderLayout.NORTH);		
		JPanel jpm=new JPanel();	//中間
		jpm.setLayout(new BorderLayout());//使得插入jpm的面板位于居中
		JLabel jl=new JLabel("歡迎進(jìn)入學(xué)生管理系統(tǒng)!",0);
		ActionListener lis=new ActionListener() {
		@Override
		public void actionPerformed(ActionEvent e) {
			String actioncommend = e.getActionCommand();
			JPanel panel=null;
			switch (actioncommend) {
			case "個(gè)人信息":
				jpm.removeAll();jpm.repaint();//清空面板內(nèi)容//重寫		jpm.add(newStudent_interf_imple().personalinformation(jf,stuno));//加入個(gè)人信息面板
				jpm.updateUI();break;//刷新
				case "查詢成績(jī)":
				jpm.removeAll();jpm.repaint();//清空面板內(nèi)容//重寫
	jpm.add(new Student_interf_imple().lookgrade(jf, stuno));//加入個(gè)人信息面板
				jpm.updateUI();//刷新					break;
			case "網(wǎng)上選課":	
				jpm.removeAll();jpm.repaint();//清空面板內(nèi)容//重寫
				jpm.add(new Student_interf_imple().electivecourse(jf, stuno));//加入個(gè)人信息面板
					jpm.updateUI();//刷新
				break;					
				case "首    頁(yè)"://返回操作主頁(yè)面	
					jf.setVisible(false);	zhu(stuno,role);break;
				case "退    出"://返回操作主頁(yè)面	
					jf.setVisible(false);new LoginGUI().denglu();break;			}		}};}}

注:其余界面的代碼過(guò)多不在暫時(shí),需要JAVA源碼的私信發(fā)送。

四、程序功能測(cè)試及截圖

2、教師登錄成功后,有以下功能:(登錄界面用jframe),java,數(shù)據(jù)庫(kù),mysql,開(kāi)發(fā)語(yǔ)言,后端
2、教師登錄成功后,有以下功能:(登錄界面用jframe),java,數(shù)據(jù)庫(kù),mysql,開(kāi)發(fā)語(yǔ)言,后端

五、課程設(shè)計(jì)總結(jié)

本系統(tǒng)擁有三個(gè)子系統(tǒng):學(xué)生管理、教師管理、管理員管理,通過(guò)可視化GUI界面和數(shù)據(jù)庫(kù)連接實(shí)現(xiàn)完整學(xué)生成績(jī)管理功能。登錄注冊(cè)功能實(shí)現(xiàn)不同用戶的不同操作權(quán)限。系統(tǒng)未關(guān)閉也可再次登錄。待改進(jìn)之處包括整理代碼包結(jié)構(gòu),添加教師課程系統(tǒng)以及加強(qiáng)學(xué)生選課約束。通過(guò)此項(xiàng)目,整合了兩個(gè)學(xué)期的知識(shí)并進(jìn)行了綜合應(yīng)用,通知這個(gè)項(xiàng)目提升了GUI和數(shù)據(jù)庫(kù)的應(yīng)用能力,并且錘煉了編程思維和算法實(shí)現(xiàn)能力。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-761485.html

注意:頁(yè)面篇幅有限,僅僅展示部分項(xiàng)目報(bào)告+JAVA源碼,有需要的私信我!

到了這里,關(guān)于JAVA+GUI界面+MysSQL的學(xué)生信息管理系統(tǒng)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 面向?qū)ο蟪绦蛟O(shè)計(jì)(Java)課程設(shè)計(jì)——學(xué)生信息管理系統(tǒng)(GUI+文件)

    面向?qū)ο蟪绦蛟O(shè)計(jì)(Java)課程設(shè)計(jì)——學(xué)生信息管理系統(tǒng)(GUI+文件)

    一、團(tuán)隊(duì)成員及任務(wù) 組長(zhǎng):宗慶亮? 計(jì)科(智能)22-1? 202203200021 負(fù)責(zé)模塊:靜態(tài)登錄界面實(shí)現(xiàn)以及學(xué)生信息系統(tǒng)管理界面的創(chuàng)建 組員:鄭金洲??計(jì)科(智能)22-1? 202203200022 負(fù)責(zé)模塊:增加,刪除,修改以及查詢功能的實(shí)現(xiàn) 團(tuán)隊(duì)博客:面向?qū)ο蟪绦蛟O(shè)計(jì)(Java)課程設(shè)計(jì)——學(xué)生

    2024年02月03日
    瀏覽(26)
  • 學(xué)生信息后臺(tái)管理系統(tǒng)(GUI)

    學(xué)生信息后臺(tái)管理系統(tǒng)(GUI)

    通過(guò)制作學(xué)生信息后臺(tái)管理系統(tǒng)熟悉java中JDBC和CUI(圖形用戶接口)的使用。 1.Eclipse IDE?Version: 2020-12 (4.18.0) 2.mysql 3.Navicat Premium 15(數(shù)據(jù)庫(kù)管理工具) 4.WindowBuilder(java圖形用戶界面插件) 具體下載和使用可以參考以下鏈接: 下載安裝WindowBuilder插件教程_jay_musu的博客-CSDN博客 學(xué)生信息

    2024年02月07日
    瀏覽(22)
  • 基于Python guI的學(xué)生信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

    基于Python guI的學(xué)生信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

    ????????講述的是一個(gè)使用Python GUI的學(xué)習(xí)資料管理工具。通過(guò)使用Python的Tkinter庫(kù)和mysql數(shù)據(jù)庫(kù),這個(gè)工具可以方便地記錄、檢索、更新學(xué)習(xí)資料。本文詳細(xì)描述了系統(tǒng)的架構(gòu)設(shè)計(jì)和實(shí)現(xiàn)過(guò)程,并對(duì)系統(tǒng)進(jìn)行了功能測(cè)試和性能測(cè)試。結(jié)果表明,該系統(tǒng)具有良好的用戶界面和

    2024年02月03日
    瀏覽(19)
  • 學(xué)生信息管理系統(tǒng)(c++,可視化界面,文件操作)

    學(xué)生信息管理系統(tǒng)(c++,可視化界面,文件操作)

    大一期末作業(yè),老師要求設(shè)計(jì)一個(gè)學(xué)生信息管理系統(tǒng),還要可視化界面。說(shuō)實(shí)話,之前從來(lái)沒(méi)接觸過(guò)可視化界面,一直都是黑窗口,還以為可視化界面離我還遠(yuǎn),直到我開(kāi)始去了解,去網(wǎng)上查資料,搜索自學(xué),才發(fā)現(xiàn)…額,原來(lái)這么簡(jiǎn)單,只要會(huì)寫程序就可以做,只是老師從

    2024年02月12日
    瀏覽(15)
  • 學(xué)生成績(jī)管理系統(tǒng)(JAVA_GUI+Mysql)

    學(xué)生成績(jī)管理系統(tǒng)(JAVA_GUI+Mysql)

    提示:該系統(tǒng)是基于Java界面編程+mysql的 源碼在這里,需要的自取 SAMS分享包 提取碼: 49ji SAMS學(xué)生成績(jī)管理系統(tǒng)功能展示 IDEA開(kāi)發(fā)工具 Java界面編程 jdk1.8 mysql8.0.26 Druid數(shù)據(jù)連接池 MVC三層架構(gòu)模型 exe4j可執(zhí)行文件生成工具(將jar包變成可運(yùn)行的exe程序) 三層架構(gòu)簡(jiǎn)單介紹: 三層

    2024年02月06日
    瀏覽(28)
  • Java基于MVC的學(xué)生成績(jī)管理系統(tǒng)(mysql+GUI)

    Java基于MVC的學(xué)生成績(jī)管理系統(tǒng)(mysql+GUI)

    目錄 ? 一、實(shí)驗(yàn)?zāi)康募耙?二、實(shí)驗(yàn)內(nèi)容 三、結(jié)果展示 四、源代碼 1 .? 實(shí)驗(yàn)要求:管理系統(tǒng)采用MVC結(jié)構(gòu),實(shí)驗(yàn)前對(duì)可能出現(xiàn)的數(shù)據(jù)庫(kù)連接、事件響應(yīng)等問(wèn)題預(yù)先分析,確定調(diào)試步驟和測(cè)試方法,編寫源程序,實(shí)現(xiàn)可行的應(yīng)用程序,盡可能考慮程序的健壯性,對(duì)實(shí)驗(yàn)中出現(xiàn)

    2024年02月06日
    瀏覽(28)
  • 【JAVA GUI+MYSQL]社團(tuán)信息管理系統(tǒng)

    【JAVA GUI+MYSQL]社團(tuán)信息管理系統(tǒng)

    本社團(tuán)信息管理系統(tǒng) 主要實(shí)現(xiàn)登錄注冊(cè)、管理員信息管理、社團(tuán)用戶信息管理、用戶申請(qǐng)信息管理功能模塊。 目錄 1.系統(tǒng)主要功能介紹 2. 數(shù)據(jù)庫(kù)概念模型設(shè)計(jì) 3.具體功能模塊的實(shí)現(xiàn)?? 3.1模型類 3.1.1Student.java 3.1.2User .java 3.1.3Club.java 3.2頁(yè)面類 3.2.1LoginInterface.java 3.2.2Us

    2024年02月02日
    瀏覽(20)
  • 【JAVA】學(xué)生信息管理系統(tǒng)

    【JAVA】學(xué)生信息管理系統(tǒng)

    目錄 前言 一、環(huán)境搭建 二、功能實(shí)現(xiàn) 1.學(xué)生信息類的創(chuàng)建 2.學(xué)生信息的添加功能 3.學(xué)生信息的刪除功能 4.學(xué)生信息的修改功能? 5.學(xué)生信息的查看功能 ?三、主類的調(diào)用 1.界面的搭建 2.學(xué)生端和教師端 3.系統(tǒng)和功能的選擇 總結(jié) ? ? ? ? JAVA實(shí)現(xiàn)的學(xué)生信息管理系統(tǒng)(包含教

    2024年02月03日
    瀏覽(26)
  • 學(xué)生信息管理系統(tǒng)——JAVA

    ? ? ? 學(xué)生信息管理系統(tǒng)是一個(gè)實(shí)現(xiàn)信息管理的多功能平臺(tái),本文主要介紹一個(gè)簡(jiǎn)易功能的java 程序。 1、添加學(xué)生信息。 2、刪除學(xué)生信息。 3、查看學(xué)生信息。 4、修改學(xué)生信息。 1、創(chuàng)建一個(gè)標(biāo)準(zhǔn)的學(xué)生類 2、分布實(shí)現(xiàn)功能 ? ? ? ? (1)添加學(xué)生信息 ????????(2)刪除

    2024年02月08日
    瀏覽(31)
  • java學(xué)生成績(jī)管理信息系統(tǒng)

    java學(xué)生成績(jī)管理信息系統(tǒng)

    學(xué)生成績(jī)管理信息系統(tǒng)是一個(gè)基于Java Swing的桌面應(yīng)用程序,旨在方便學(xué)校、老師和學(xué)生對(duì)學(xué)生成績(jī)進(jìn)行管理和查詢。本文檔將提供系統(tǒng)的詳細(xì)說(shuō)明,包括系統(tǒng)特性、使用方法和技術(shù)實(shí)現(xiàn)。 添加學(xué)生信息:錄入學(xué)生基本信息,包括學(xué)號(hào)、姓名、班級(jí)等。 編輯學(xué)生信息:修改學(xué)

    2024年01月18日
    瀏覽(21)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包