學生學籍管理系統(tǒng)(含java源代碼)_第1頁
學生學籍管理系統(tǒng)(含java源代碼)_第2頁
學生學籍管理系統(tǒng)(含java源代碼)_第3頁
學生學籍管理系統(tǒng)(含java源代碼)_第4頁
學生學籍管理系統(tǒng)(含java源代碼)_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、學生學籍管理詳細設(shè)計 學號:_ 姓名:_ 班級:_1、 設(shè)計題目:學生學籍管理二:設(shè)計內(nèi)容: 設(shè)計GUI學生學籍管理界面,用戶可以加入學生信息,并對基本信息進行修改,添加,查詢,刪除。三:設(shè)計要求: 進行簡單的學生信息管理。四:總體設(shè)計 (1登陸界面的設(shè)計 2)主窗體的設(shè)計 3)添加學生信息窗體 4)查詢學生信息窗體 5)修改學生信息窗體 6)刪除學生信息窗體 事件響應(yīng)的處理五:具體設(shè)計2、 程序結(jié)構(gòu)的說明:A. 入口程序:student.java。B. 登陸界面程序:mainframe.java。C. 主窗體程序:interfac.java。D. 添加信息窗口程序:tj.java。E. 修改

2、信息窗口程序:xg.java。F. 查詢信息窗口程序:cx.java。G. 刪除信息窗口程序:sc.java。H. 程序數(shù)據(jù)連接:DatabaseConn.java。(2) 程序代碼及分析說明A.程序源代碼已提交)B.Student.java是程序的入口。使登錄窗口位于窗口中間,并且不可改變窗口大小。C.mainframe.java是程序的登陸窗體。輸入用戶名和密碼用戶名和密碼在數(shù)據(jù)庫的password表中)點擊“進入系統(tǒng)”,然后登陸界面消失;出現(xiàn)要操作的界面屏幕左上角)。D.tj.java是添加信息界面。添加基本信息后,點擊“添加信息”按鈕,將信息加入xinxi表中。E.xg.java是修改

3、信息界面。輸入要修改的學號或姓名兩者數(shù)其一或全部輸入),并輸入所有信息,點擊“修改信息”按鈕。public student(mainframe frame=new mainframe(。if(packFrameframe.pack(。else frame.validate(。Dimension screenSize=Toolkit.getDefaultToolkit(.getScreenSize(。Dimension frameSize=frame.getSize(。if(frameSize.heightscreenSize.heightframeSize.height=screenSize.

4、height。if(frameSize.widthscreenSize.widthframeSize.width=screenSize.width。frame.setLocation(screenSize.width-frameSize.width/2,(screenSize.height-frameSize.height/2。frame.setVisible(true。public static void main(String argstryUIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName(。catch(Exc

5、eption ee.printStackTrace(。new student(。/數(shù)據(jù)庫連接/package sql.database。import java.sql.*。public class DatabaseConnprivate static String user=。private static String password=。private Connection conn=null。private Statement stmt=null。private ResultSet rs=null。static tryClass.forName(sun.jdbc.odbc.JdbcOdbc

6、Driver。/加載驅(qū)動 catch(ClassNotFoundException e/創(chuàng)建數(shù)據(jù)庫連接對象public Connection getConnection(tryconn=DriverManager.getConnection(jdbc:odbc:stu,user,password。return conn。catch(SQLException ereturn null。public Statement createStat(tryconn=getConnection(。stmt=conn.createStatement(。return stmt。catch(SQLExceptio

7、n ereturn null。public ResultSet getRs(String sql try conn=getConnection(。/. stmt=createStat(。 rs=stmt.executeQuery(sql。 return rs。 catch(SQLException e return null。 public void close( try if(rs!=null rs.close(。 if(stmt!=null stmt.close(。 if(conn!=null conn.close(。 catch(SQLException ex ex.printStack

8、Trace(。 /mainframe.javaimport java.awt.*。import java.awt.event.*。import javax.swing.*。import java.sql.*。public class mainframe extends JFrame implements ActionListenerstatic mainframe s。static JPanel pan=new JPanel(。static JLabel label1 = new JLabel(用 戶。 static JLabel label2 = new JLabel(密 碼。 static

9、 JTextField textField1 = new JTextField(。 static JPasswordField password = new JPasswordField(。 static JButton button1 = new JButton(進入系統(tǒng)。 static JRadioButton radioButton1=new JRadioButton(管理員,true。/“管理員”初始狀態(tài)被選中 static JRadioButton radioButton2=new JRadioButton(學生。 static JRadioButton radioButton3=n

10、ew JRadioButton(教師。 ButtonGroup buttonGroup=new ButtonGroup(。 public mainframe(JLabel label=new JLabel(new ImageIcon(圖片44.jpg。label.setSize(400,400。pan.add(label。pan.setLayout(null。pan.setSize(400,400。this.setTitle(學籍管理系統(tǒng)。this.setSize(400,400。this.setLayout(null。label1.setBounds(100,25,49,20。textFie

11、ld1.setBounds(155,24,120,20。label2.setBounds(100,62,49,20。password.setBounds(155,61,120,20。button1.setBounds(150,200,101,22。 radioButton1.setBounds(105,120,80,20。 radioButton2.setBounds(180,120,60,20。radioButton3.setBounds(240,120,60,20。button1.addActionListener(this。buttonGroup.add(radioButton1。 bu

12、ttonGroup.add(radioButton2。buttonGroup.add(radioButton3。this.add(radioButton1。this.add(radioButton2。this.add(radioButton3。this.add(label1。this.add(label2。this.add(textField1。this.add(password。this.add(button1。this.add(pan。this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE。this.setVisible(true。 publi

13、c static void main(String args new mainframe(。 public void actionPerformed(ActionEvent e if(radioButton1.isSelected(/管理員 if(textField1.getText(.equals(syc & password.getText(.equals(123interfac b=new interfac(。this.dispose(。/JOptionPane.showMessageDialog(null,登陸成功。else if(.equals(textField1.getText(

14、 | .equals(password.getText( JOptionPane.showMessageDialog(null,用戶名或密碼不能為空。else JOptionPane.showMessageDialog(null,用戶名或密碼輸入有誤。if(radioButton2.isSelected(/學生 tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver。catch (ClassNotFoundException ceJOptionPane.showMessageDialog(s,ce.getMessage(。tryConnection con

15、= DriverManager.getConnection(jdbc:odbc:stu,sa,。Statement stmt = con.createStatement(。 ResultSet rs = stmt.executeQuery(select * from password where 用戶名 = +textField1.getText(+ and 密碼 = +password.getText(+。 if(textField1.getText(.equals(|password.getText(.equals( JOptionPane.showMessageDialog(this,用

16、戶名或密碼不可為空!。 else if(rs.next( new interfac(。 else JOptionPane.showMessageDialog(this,您的輸入有誤。 /stmt.close(。catch (SQLException seJOptionPane.showMessageDialog(s,se.getMessage(。/interface.javaimport java.awt.*。import java.awt.event.*。import javax.swing.*。public class interfac extends JFrame implements

17、ActionListenerstatic JMenuBar jMenuBar = new JMenuBar(。/菜單條 static JMenu jMenuFile = new JMenu(文件。/菜單項 static JMenu jMenuExit = new JMenu(退出。 static JMenuItem jMenuItem1 = new JMenuItem(添加信息。/菜單子項 static JMenuItem jMenuItem2 = new JMenuItem(修改信息。 static JMenuItem jMenuItem3 = new JMenuItem(信息查詢。 sta

18、tic JMenuItem jMenuItem4 = new JMenuItem(刪除信息。 static JLabel label3 = new JLabel(請選擇操作項。 static JLabel label4 = new JLabel(學籍管理系統(tǒng)。 static JButton button2 = new JButton(添加信息。 static JButton button3 = new JButton(修改信息。 static JButton button4 = new JButton(信息查詢。 static JButton button5 = new JButton(刪除信

19、息。public interfac(this.setTitle(學籍管理系統(tǒng)。this.setLayout(null。this.setSize(400,400。label3.setBounds(158,92,98,33。label3.setFont(new Font(Dialog,Font.PLAIN,15。label4.setFont(new Font(Dialog,Font.BOLD,20。label4.setBounds(157,37,280,40。button2.setBounds(74,136,97,33。button3.setBounds(226,136,97,33。button4

20、.setBounds(74,185,97,33。button5.setBounds(226,185,97,33。this.add(button2。this.add(button3。this.add(button4。this.add(button5。this.add(label3。this.add(label4。setJMenuBar(jMenuBar。jMenuFile.add(jMenuItem1。/”文件“菜單項中加入子菜單 jMenuFile.add(jMenuItem2。 jMenuFile.add(jMenuItem3。 jMenuFile.add(jMenuItem4。 jMenu

21、Bar.add(jMenuFile。/將菜單項加入菜單條 jMenuBar.add(jMenuExit。 button2.addActionListener(this。/本窗口向按鈕事件源注冊 button3.addActionListener(this。 button4.addActionListener(this。 button5.addActionListener(this。 jMenuItem1.addActionListener(this。/本窗口菜單子項注冊 jMenuItem2.addActionListener(this。 jMenuItem3.addActionListene

22、r(this。 jMenuItem4.addActionListener(this。 jMenuExit.addActionListener(this。 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE。 this.setVisible(true。public static void main(String argsinterfac a=new interfac(。 public void actionPerformed(ActionEvent e /按鈕事件的處理 if(e.getSource(=jMenuExit System.exit(

23、0。 else if(e.getSource(=jMenuItem1|e.getSource(=button2 try tj a=new tj(。 catch(Exception ee else if(e.getSource(=jMenuItem2|e.getSource(=button3 try xg a=new xg(。 catch(Exception ed else if(e.getSource(=jMenuItem3|e.getSource(=button4 try cx a=new cx(。 catch(Exception ec else if(e.getSource(=jMenuI

24、tem4|e.getSource(=button5 try sc a=new sc(。 catch(Exception es /tj.java 添加界面import javax.swing.*。import java.awt.*。import java.awt.event.*。import java.sql.*。public class tj extends JFrame implements ActionListener static tj s。 static JLabel label1 = new JLabel(學號:。 static JTextField textField1 = new

25、 JTextField(。 static JLabel label2 = new JLabel(姓名:。 static JTextField textField2 = new JTextField(。 static JLabel label3 = new JLabel(性別:。 static JTextField textField7=new JTextField(。 static JLabel label4 = new JLabel(出生日期:。 static JTextField textField3 = new JTextField(。 static JLabel label5 = ne

26、w JLabel(政治面貌:。 static JTextField textField8=new JTextField(。 static JLabel label6 = new JLabel(籍貫。 static JTextField textField4 = new JTextField(。 static JLabel label7 = new JLabel(系別:。 static JTextField textField9 = new JTextField(。 static JLabel label8 = new JLabel(專業(yè):。 static JTextField textFiel

27、d5 = new JTextField(。 static JButton button1 = new JButton(增加。 public tj( this.setTitle(增加學生信息。 this.setLayout(null。 this.setSize(400,400。 label1.setBounds(30, 11, 51, 33。 textField1.setBounds(86, 16, 74, 22。 label2.setBounds(162, 11, 51, 33。 textField2.setBounds(192, 16, 44, 22。 label3.setBounds(24

28、1, 11, 70, 33。 textField7.setBounds(275, 15, 50, 25。 label4.setBounds(31, 53, 55, 33。 textField3.setBounds(86, 58, 74, 22。 label5.setBounds(241, 53, 70, 33。 textField8.setBounds(296, 57, 72, 25。 label6.setBounds(163, 53, 26, 33。 textField4.setBounds(191, 58, 44, 22。 label7.setBounds(30, 94, 50, 33。

29、textField9.setBounds(86,94,74,22。 label8.setBounds(163, 94, 51, 33。 textField5.setBounds(190, 99, 178, 22。 button1.setBounds(25,241,80,33。 button1.addActionListener(this。 this.add(label1。 this.add(label2。 this.add(label3。 this.add(label4。 this.add(label5。 this.add(label6。 this.add(label7。 this.add(l

30、abel8。 this.add(textField1。 this.add(textField2。 this.add(textField3。 this.add(textField4。 this.add(textField5。 this.add(textField7。 this.add(textField8。 this.add(textField9。 this.add(button1。 this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE。 this.setVisible(true。 public static void main(String

31、 args throws Exception tj a=new tj(。 a.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE。 public void actionPerformed(ActionEvent e/事件處理程序 if (e.getSource( = button1 tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver。catch (ClassNotFoundException ceJOptionPane.showMessageDialog(s,ce.getMessage(。tryConnection

32、 con = DriverManager.getConnection(jdbc:odbc:stu,sa, 。Statement stmt = con.createStatement(。 ResultSet rs=stmt.executeQuery(select * from xinxi where 學號=+textField1.getText(+。 if(rs.next( JOptionPane.showMessageDialog(null,此學號已經(jīng)被注冊。 else stmt.execute(insert into xinxi (學號,姓名,性別,出生日期,政治面貌,籍貫,系別,專業(yè) va

33、lues (+ textField1.getText(+,+textField2.getText(+,+textField7.getText(+,+ textField3.getText(+,+textField8.getText(+,+textField4.getText(+,+ textField9.getText(+,+textField5.getText(+。 JOptionPane.showMessageDialog(null,添加信息成功。 catch (SQLException seJOptionPane.showMessageDialog(s,se.getMessage(。 /

34、xg.java 修改界面import javax.swing.*。import java.awt.*。import java.awt.event.*。import java.sql.*。public class xg extends JFrame implements ActionListener static xg s。 static JLabel label1 = new JLabel(學號:。 static JTextField textField1 = new JTextField(。 static JLabel label2 = new JLabel(姓名:。 static JTex

35、tField textField2 = new JTextField(。 static JLabel label3 = new JLabel(性別:。 static JTextField textField7=new JTextField(。 static JLabel label4 = new JLabel(出生日期:。 static JTextField textField3 = new JTextField(。 static JLabel label5 = new JLabel(政治面貌:。 static JTextField textField8=new JTextField(。 st

36、atic JLabel label6 = new JLabel(籍貫。 static JTextField textField4 = new JTextField(。 static JLabel label7 = new JLabel(系別:。 static JTextField textField9 = new JTextField(。 static JLabel label8 = new JLabel(專業(yè):。 static JTextField textField5 = new JTextField(。 static JButton button2=new JButton(修改。 pub

37、lic xg( this.setTitle(修改學生信息。 this.setLayout(null。 this.setSize(400,400。 label1.setBounds(30, 11, 51, 33。 textField1.setBounds(86, 16, 74, 22。 label2.setBounds(162, 11, 51, 33。 textField2.setBounds(192, 16, 44, 22。 label3.setBounds(241, 11, 70, 33。 textField7.setBounds(275, 15, 50, 25。 label4.setBou

38、nds(31, 53, 55, 33。 textField3.setBounds(86, 58, 74, 22。 label5.setBounds(241, 53, 70, 33。 textField8.setBounds(296, 57, 72, 25。 label6.setBounds(163, 53, 26, 33。 textField4.setBounds(191, 58, 44, 22。 label7.setBounds(30, 94, 50, 33。 textField9.setBounds(86,94,74,22。 label8.setBounds(163, 94, 51, 33

39、。 textField5.setBounds(190, 99, 178, 22。 button2.setBounds(115,241,80,33。 button2.addActionListener(this。 this.add(label1。 this.add(label2。 this.add(label3。 this.add(label4。 this.add(label5。 this.add(label6。 this.add(label7。 this.add(label8。 this.add(textField1。 this.add(textField2。 this.add(textFie

40、ld3。 this.add(textField4。 this.add(textField5。 this.add(textField7。 this.add(textField8。 this.add(textField9。 this.add(button2。 this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE。 this.setVisible(true。 public static void main(String args throws Exception xg a=new xg(。 a.setDefaultCloseOperation(J

41、Frame.EXIT_ON_CLOSE。 public void actionPerformed(ActionEvent e/事件處理程序 if(e.getSource(=button2 tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver。catch (ClassNotFoundException ceJOptionPane.showMessageDialog(s,ce.getMessage(。tryConnection con = DriverManager.getConnection(jdbc:odbc:stu,sa,。Statement stmt

42、= con.createStatement(。 ResultSet rs=stmt.executeQuery(select * from xinxi where 學號=+textField1.getText(+。 if(textField1.getText(.trim(.equals( JOptionPane.showMessageDialog(this,學號不可為空!。 else if(rs.next( String updateSql=update xinxi set 學號=+textField1.getText(+, 姓名=+ textField2.getText(+,性別=+textF

43、ield7.getText(+,出生日期=+ textField3.getText(+,政治面貌=+textField8.getText(+,籍貫=+ textField4.getText(+,系別=+textField9.getText(+,專業(yè)=+ textField5.getText(+ 。 try stmt.executeQuery(updateSql。 catch(SQLException se JOptionPane.showMessageDialog(null,修改成功。 catch(SQLException se JOptionPane.showMessageDialog(s,

44、se.getMessage(。 /sc.java 刪除界面import javax.swing.*。import java.awt.*。import java.awt.event.*。import java.sql.*。public class sc extends JFrame implements ActionListener static sc s。 static JLabel label1 = new JLabel(學號:。 static JTextField textField1 = new JTextField(。 static JLabel label2 = new JLabel(姓名:。 static JTextField textField2 = new JTextField(。 static

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論