基于java的學生管理系統(tǒng)_第1頁
已閱讀1頁,還剩129頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  第21章 學生管理系統(tǒng)</p><p>  21.1 系統(tǒng)設計</p><p>  首先確定學生管理系統(tǒng)的用戶。學生管理系統(tǒng)的用戶基本分為兩類,分別是老師和學生。不管是哪種用戶都是必須經(jīng)過登錄才能進入學生管理系統(tǒng)的,所以該系統(tǒng)必須有一個登錄界面,并且在該界面中能夠讓用戶選擇用戶是老師還是學生。該系統(tǒng)是不會對外開放的,所以也不存在注冊界面。</p>&

2、lt;p>  因為用戶分為兩種,所以每一種用戶進行操作的界面應該是不同的。首先是學生界面,在其中應該只有查詢成績和個人信息查詢和插入。在本章中就來學習如何進行學生界面開發(fā)。</p><p>  除了學生界面外,還要有一個老師界面。老師在老師界面中可以對學生信息進行管理,包括查詢、修改和刪除。同樣也可以對學生的程序進行管理,包括查詢和插入,由于輸入錯誤還要能夠?qū)W生的成績進行修改,由于學生作弊還能夠?qū)W生的成

3、績進行刪除。</p><p>  21.2 數(shù)據(jù)庫設計</p><p>  在本節(jié)中,就來分析本系統(tǒng)中需要的數(shù)據(jù)庫支持。首先數(shù)據(jù)庫中應該有老師和學生這兩個表,表中應該最少有用戶名和密碼兩項,使用表中的這兩項就可以進行登錄。在學生表中還應該具有一些和學籍相關(guān)的信息,包括年齡、班級等內(nèi)容,這樣就可以在系統(tǒng)中對學生信息進行操作。</p><p>  除此之外還需要一個成

4、績表,通過該表老師可以對學生的成績進行查詢、插入、修改和刪除。學生也可以通過該表對自己的成績進行查詢。</p><p>  21.3 登錄界面開發(fā)</p><p>  不管是老師和學生進入學生管理系統(tǒng)都是從登錄界面進入的。在登錄界面中應該是讓用戶選擇自己身份的,然后系統(tǒng)將根據(jù)用戶的選擇來判斷用戶的身份并進行查詢不同的數(shù)據(jù)庫。這里為了讓讀者更容易理解登錄界面,并沒有連接數(shù)據(jù)庫。讀者可以將數(shù)

5、據(jù)庫的操作加到程序中。</p><p>  21.3.1 界面設計</p><p>  這里的登錄界面是采用最簡單的形式,只需要用戶輸入用戶名和密碼就可以登錄。并且在界面中定義了一個下拉列表框讓用戶來選擇自己的身份。該界面的基本形式如圖所示。</p><p>  21.3.2 程序開發(fā)</p><p>  對界面設計好基本形式后,就可以進

6、行程序開發(fā)。首先要定義兩個標簽和兩個文本框,分別來表示用戶名和密碼。并且還需要定義一個下拉列表讓用戶來進行身份選擇,其中選項包括“學生”和“老師”。在程序的最后還定義了兩個按鈕,從而讓用戶輸入用戶名和密碼后進行登錄。</p><p>  【范例】示例代碼是用戶登錄界面程序。</p><p>  21.4 學生界面開發(fā)</p><p>  在本節(jié)中將來開發(fā)學生界面,

7、在學生界面中,學生可以對自己的信息進行查詢,在第一次登錄時還可以對自己的信息進行插入,并且學生能夠查詢自己的成績。</p><p>  21.4.1 界面設計</p><p>  因為學生要完成對信息和成績的操作,所以這里的設計是在界面中定義兩個菜單,分別進行信息和成績的操作。因為對信息的操作包括插入和查詢,所以還需要在信息菜單下定義“插入”和“查詢”兩個子菜單</p>&

8、lt;p>  21.4.2 程序開發(fā)</p><p>  對界面進行設計后,就可以進行程序開發(fā)。同樣首先是創(chuàng)建一個窗口,在窗口中要創(chuàng)建兩個菜單,并且在信息菜單下還要創(chuàng)建“插入”和“查詢”兩個子菜單。</p><p>  【范例】示例代碼是一個學生界面程序。</p><p>  21.4.3 開發(fā)插入學生界面</p><p>  在學

9、生界面中單擊“信息”菜單下的“插入”子菜單,就會進入學生插入界面,在該界面中學生可以輸入自己的信息。</p><p>  【范例】示例代碼是一個學生插入信息界面程序。</p><p>  21.4.4 查詢學生信息界面</p><p>  學生第一次插入信息后,老師是可以對學生的信息進行修改和刪除的。除此之外,學生還可以查詢自己被修改后的信息,在信息菜單下有一個查

10、詢子菜單,單擊該菜單就觸發(fā)事件,從而進入查詢學生信息界面。</p><p>  【范例】示例代碼是查詢學生信息界面。</p><p>  21.4.5 查詢成績信息</p><p>  在學生界面中還有一個“成績”菜單,在學生的界面該菜單下只有一個“查詢”子菜單。單擊“查詢”子菜單,將觸發(fā)事件,進入到查詢成績界面。</p><p>  【范

11、例】示例代碼是一個查詢成績界面程序。</p><p>  21.5 綜合練習</p><p>  1.參考本章中學生界面,開發(fā)學生系統(tǒng)中的老師界面。</p><p>  【提示】老師界面和學生界面是非常類似的,但是也是存在很多不一樣的地方的。首先在老師界面中能夠?qū)W生的信息除了插入和查詢之外,還能夠?qū)W生的信息進行修改和刪除,這樣就需要在“信息”菜單下增加“修改”

12、和“刪除”兩個子菜單,也從而需要開發(fā)修改學生信息界面和刪除學生信息界面。</p><p>  在學生界面中只能夠進行對程序的查詢,在老師界面中不但能夠?qū)W生的信息進行查詢,還能夠?qū)W生的信息進行修改、插入和刪除。同樣也是需要增加相應的子菜單和對應的界面。</p><p>  import java.awt.*;</p><p>  import java.awt.e

13、vent.*;</p><p>  import javax.swing.*;</p><p>  import java.util.*;</p><p>  import javax.swing.event.*;</p><p>  import java.sql.*;</p><p>  class AddStud

14、ent extends JFrame implements ActionListener</p><p><b>  {</b></p><p>  JLabel JL =new JLabel("添 加 基 本 信 息",JLabel.CENTER);//使用文本創(chuàng)建一個標簽對象</p><p>  JLa

15、bel JLNumber=new JLabel("學號:");//使用文本創(chuàng)建一個標簽對象</p><p>  JTextField JTNumber=new JTextField();//創(chuàng)建一個文本框?qū)ο?lt;/p><p>  JLabel JLName =new JLabel("姓名:");//使用文本創(chuàng)建一個標簽

16、對象</p><p>  JTextField JTName =new JTextField();//創(chuàng)建一個文本框?qū)ο?lt;/p><p>  JLabel JLClass =new JLabel("班級:");//使用文本創(chuàng)建一個標簽對象</p><p>  JTextField JTClass =new JTextField

17、();//創(chuàng)建一個文本框?qū)ο?lt;/p><p>  JLabel JLsex =new JLabel("性別:");//使用文本創(chuàng)建一個標簽對象</p><p>  ButtonGroup BG =new ButtonGroup();//創(chuàng)建一個ButtonGroup組件對象</p><p>  JRadioBu

18、tton JRB1 =new JRadioButton("男");//創(chuàng)建一個單選按鈕對象</p><p>  JRadioButton JRB2 =new JRadioButton("女");</p><p>  JLabel JL1 =new JLabel("學院:");//使用文本創(chuàng)建一個標簽對象

19、</p><p>  JTextField JT1 =new JTextField();//創(chuàng)建一個文本框?qū)ο?lt;/p><p>  JButton JBAdd =new JButton("添加"); //創(chuàng)建按鈕對象</p><p>  JButton JBNext =new JButton("重置&q

20、uot;);</p><p>  String sql="";//定義一個字符串</p><p>  public AddStudent()//創(chuàng)建AddStudent構(gòu)造函數(shù)</p><p><b>  {</b></p><p>  this.setTitle(&

21、quot;添加學生信息");//設置窗口標題</p><p>  this.setLayout(null);//設置窗口布局管理器</p><p>  JL.setBounds(100,30,200,40);//設置標簽的初始位置</p><p>  this.add(JL);//將標簽添加到容器</p&g

22、t;<p>  JLNumber.setBounds(100,80,100,20);//設置學號標簽的初始位置</p><p>  this.add(JLNumber);//將學號標簽添加到容器</p><p>  JTNumber.setBounds(200,80,80,20);//設置文本框的初始位置</p><p>  

23、this.add(JTNumber);//將文本框添加到容器</p><p>  JLName.setBounds(100,120,60,20);//設置姓名標簽的初始位置</p><p>  this.add(JLName);//將姓名標簽添加到容器</p><p>  JTName.setBounds(200,120,80,20

24、);//設置文本框的初始位置</p><p>  this.add(JTName);//將文本框添加到容器</p><p>  JLsex.setBounds(100,160,100,20);//設置性別標簽的初始位置</p><p>  this.add(JLsex);//將性別標簽添加到容器</p><

25、p>  JRB1.setBounds(200,160,40,20);//設置單選按鈕的初始位置</p><p>  JRB2.setBounds(300,160,40,20);</p><p>  this.add(JRB1);//添加單選按鈕組件</p><p>  this.add(JRB2);</p><p&g

26、t;  BG.add(JRB1);//將單選按鈕添加到ButtonGroup組件</p><p>  BG.add(JRB2);</p><p>  JLClass.setBounds(100,240,60,20);//設置班級標簽的初始位置</p><p>  this.add(JLClass);//將班級標簽添加到容器<

27、/p><p>  JTClass.setBounds(200,240,80,20);//設置文本框的初始位置</p><p>  this.add(JTClass);//將文本框添加到容器</p><p>  JL1.setBounds(100,280,60,20);//設置學院標簽的初始位置</p><p>  th

28、is.add(JL1);//將學院標簽添加到容器</p><p>  JT1.setBounds(200,280,80,20);//設置文本框的初始位置</p><p>  this.add(JT1);//將文本框添加到容器</p><p>  JBAdd.setBounds(80,320,90,20);//設置添加按

29、鈕的初始位置</p><p>  this.add(JBAdd);//將添加按鈕添加到容器</p><p>  JBAdd.addActionListener(this);//給按鈕添加監(jiān)聽器</p><p>  JBNext.setBounds(190,320,90,20);//設置重置按鈕的初始位置</p><p&

30、gt;  this.add(JBNext);//將重置按鈕添加到容器</p><p>  JBNext.addActionListener(this);//給按鈕添加監(jiān)聽器</p><p>  this.setBounds(10,10,500,400);//設置窗口尺寸大小</p><p>  this.setVisible(true)

31、;//設置窗口的可見性</p><p>  addWindowListener(new WindowAdapter()</p><p>  { public void windowClosing(WindowEvent e)</p><p><b>  {</b></p><p>  System.exit(

32、0);</p><p><b>  }</b></p><p><b>  });</b></p><p><b>  }</b></p><p>  public void actionPerformed(ActionEvent e)</p><p>

33、<b>  {</b></p><p>  if(e.getSource()==JBAdd)//處理"添加"事件</p><p><b>  {</b></p><p>  String snumber=JTNumber.getText();//將文本框中包含的文本傳給字符串snumber</p&

34、gt;<p>  String sname=JTName.getText();//將文本框中包含的文本傳給字符串sname</p><p>  String sclass=JTClass.getText();//將文本框中包含的文本傳給字符串sclass</p><p>  String ssex="女";//返回單選按鈕的值</p><

35、;p>  if(JRB1.isSelected())</p><p><b>  ssex="男";</b></p><p>  String scollect=JT1.getText();//將文本框中包含的文本傳給字符串scollect </p><p>  sql="select * from s

36、tudent where Id='"+snumber+"'";//檢索出Id等于snumber的學生的所有信息</p><p>  try //異常處理</p><p><b>  {</b></p><p>  Class.forName("sun.jdbc.odbc.JdbcOdbcD

37、river");//加載驅(qū)動程序</p><p>  Connection cot=DriverManager.getConnection("jdbc:odbc:student1","","");//打開數(shù)據(jù)庫連接,student1為數(shù)據(jù)源名稱</p><p>  Statement stm=cot.createSta

38、tement();//提交查詢</p><p>  ResultSet rs=stm.executeQuery(sql);//取得查詢結(jié)果</p><p>  if(rs.next())//判斷結(jié)果是否存在</p><p>  JOptionPane.showMessageDialog(null,"該號已經(jīng)存在!");//通過showMessag

39、eDialog()方法打印信息</p><p><b>  else </b></p><p><b>  {</b></p><p>  sql="insert into student values('"+snumber+"','"+sname+"

40、;','"+sclass+"','"+ssex+"','"+scollect+"')";//插入一組數(shù)據(jù)</p><p>  int i=stm.executeUpdate(sql); //對數(shù)據(jù)庫進行更新</p><p><b>  if(i>0)

41、</b></p><p>  JOptionPane.showMessageDialog(null,"添加成功!");</p><p><b>  else</b></p><p>  JOptionPane.showMessageDialog(null,"刪除失敗!");</p>

42、<p><b>  }</b></p><p>  }catch(Exception ee)</p><p><b>  {</b></p><p><b>  }</b></p><p><b>  }</b></p><

43、;p>  if(e.getSource()==JBNext)//處理"重置"事件</p><p><b>  {</b></p><p>  JTNumber.setText(null);//設置文本的text值為null</p><p>  JTName.setText(null);//設置文本的text值為nul

44、l</p><p>  JTClass.setText(null);//設置文本的text值為null</p><p>  JT1.setText(null);//設置文本的text值為null</p><p><b>  }</b></p><p><b>  }</b></p>&

45、lt;p>  public static void main(String args[])</p><p><b>  {</b></p><p>  new AddStudent();</p><p><b>  }</b></p><p><b>  }</b><

46、;/p><p>  import java.awt.*;</p><p>  import java.awt.event.*;</p><p>  import javax.swing.*;</p><p>  import java.util.*;</p><p>  import javax.swing.event.*

47、;</p><p>  import java.sql.*;</p><p>  import java.util.Vector;</p><p>  class ChengJiStudent extends JFrame implements ActionListener</p><p><b>  {</b><

48、/p><p>  JLabel JL =new JLabel("查 詢 成 績",JLabel.CENTER);//使用文本創(chuàng)建一個標簽對象</p><p>  JLabel JLNumber=new JLabel("請輸入學號:");//使用文本創(chuàng)建一個標簽對象</p><p>  JTextField

49、 JTNumber=new JTextField();//創(chuàng)建一個文本框?qū)ο?lt;/p><p>  JLabel JLName =new JLabel("姓名:");//使用文本創(chuàng)建一個標簽對象</p><p>  JTextField JTName =new JTextField();//創(chuàng)建一個文本框?qū)ο?lt;/p><p>  JLa

50、bel JLClass =new JLabel("語文:");//使用文本創(chuàng)建一個標簽對象</p><p>  JTextField JTClass =new JTextField();//創(chuàng)建一個文本框?qū)ο?lt;/p><p>  JLabel JL1 =new JLabel("數(shù)學:");//使用文本創(chuàng)建一個標簽對象</

51、p><p>  JTextField JT1 =new JTextField();//創(chuàng)建一個文本框?qū)ο?lt;/p><p>  JLabel JL2 =new JLabel("班級:");//使用文本創(chuàng)建一個標簽對象</p><p>  JTextField JT2 =new JTextField();//創(chuàng)建一個文本框

52、對象</p><p>  JButton JBSet =new JButton("查詢");//創(chuàng)建按鈕對象</p><p>  JButton JBNext =new JButton("重置");</p><p>  String sql=""; //定義一個字符串</p>

53、<p>  public ChengJiStudent() //創(chuàng)建SetGrade構(gòu)造函數(shù)</p><p><b>  {</b></p><p>  this.setTitle("查詢成績");//設置窗口標題</p><p>  this.setLayout(null);//設置窗口布局管理器</p&g

54、t;<p>  JL.setForeground(Color.red);//設置標簽的前景色</p><p>  JL.setFont(new java.awt.Font("宋體",Font.PLAIN,19));//設置標簽的字體</p><p>  JL.setBounds(100,30,200,40);//設置標簽的初始位置</p>&

55、lt;p>  this.add(JL);//將標簽添加到容器</p><p>  JLNumber.setBounds(100,80,100,20);//設置學號標簽的初始位置</p><p>  this.add(JLNumber);//將學號標簽添加到容器</p><p>  JTNumber.setBounds(200,80,80,20);//設置文本框

56、的初始位置</p><p>  this.add(JTNumber);//將文本框添加到容器</p><p>  JLName.setBounds(100,160,60,20);//設置姓名標簽的初始位置</p><p>  this.add(JLName);//將姓名標簽添加到容器</p><p>  JTName.setBounds(20

57、0,160,80,20);//設置文本框的初始位置</p><p>  this.add(JTName);//將文本框添加到容器</p><p>  JL2.setBounds(100,240,80,20);//設置班級標簽的初始位置</p><p>  this.add(JL2);//將班級標簽添加到容器</p><p>  JT2.s

58、etBounds(200,240,80,20);//設置文本框的初始位置</p><p>  this.add(JT2);//將文本框添加到容器</p><p>  JLClass.setBounds(100,280,60,20);//設置語文標簽的初始位置</p><p>  this.add(JLClass);//將語文標簽添加到容器</p>&l

59、t;p>  JTClass.setBounds(200,280,80,20);//設置文本框的初始位置</p><p>  this.add(JTClass);//將文本框添加到容器</p><p>  JL1.setBounds(100,320,60,20);//設置數(shù)學標簽的初始位置</p><p>  this.add(JL1);//將數(shù)學標簽添加到容器

60、</p><p>  JT1.setBounds(200,320,80,20);//設置文本框的初始位置</p><p>  this.add(JT1);//將文本框添加到容器</p><p>  JBSet.setBounds(80,120,90,20);////設置查詢按鈕的初始位置</p><p>  this.add(JBSet);/

61、/將查詢按鈕添加到容器</p><p>  JBSet.addActionListener(this);//給按鈕添加監(jiān)聽器</p><p>  JBNext.setBounds(190,120,90,20);//設置重置按鈕的初始位置</p><p>  this.add(JBNext);//將重置按鈕添加到容器</p><p>  JBN

62、ext.addActionListener(this);//給按鈕添加監(jiān)聽器</p><p>  this.setBounds(10,10,500,400);//設置窗口尺寸大小</p><p>  this.setVisible(true);//設置窗口的可見性</p><p>  addWindowListener(new WindowAdapter()<

63、/p><p>  { public void windowClosing(WindowEvent e)</p><p><b>  {</b></p><p>  System.exit(0);</p><p><b>  }</b></p><p><b>  });

64、</b></p><p><b>  }</b></p><p>  public void actionPerformed(ActionEvent e)</p><p><b>  {</b></p><p>  if(e.getSource()==JBSet)//處理"

65、查詢"事件</p><p><b>  {</b></p><p>  String snumber=JTNumber.getText();//將文本框中包含的文本傳給字符串snumber</p><p>  String sname=JTName.getText();//將文本框中包含的文本傳給字符串sname</

66、p><p>  String sclass=JTClass.getText();//將文本框中包含的文本傳給字符串sclass</p><p>  String ssex="女";//返回單選按鈕的值</p><p>  String scollect=JT1.getText();//將文本框中包含的文本傳給字符串scollect <

67、;/p><p>  String sbir=JT2.getText();//將文本框中包含的文本傳給字符串sbir</p><p>  sql="select * from grade where Id='"+snumber+"'";//檢索出Id等于snumber的學生的所有信息</p><p>  

68、try //異常處理</p><p><b>  {</b></p><p>  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//加載驅(qū)動程序</p><p>  Connection cot=DriverManager.getConnection("jd

69、bc:odbc:student1","","");//打開數(shù)據(jù)庫連接,student1為數(shù)據(jù)源名稱</p><p>  Statement stm=cot.createStatement();//提交查詢</p><p>  ResultSet rs=stm.executeQuery(sql);//取得查詢結(jié)果&l

70、t;/p><p>  if(rs.next()) //判斷結(jié)果是否存在</p><p><b>  {</b></p><p>  String name=rs.getString(2);//獲取當前行中指定列的值,并將返回的字符串對象賦給 name</p><p>  JTName.setText(na

71、me);//將字符串name顯示在文本框中 </p><p>  String clas=rs.getString(3);//獲取當前行中指定列的值,并將返回的字符串對象賦給clas </p><p>  JTClass.setText(clas);//將字符串clas顯示在文本框中</p><p>  String c

72、ollect=rs.getString(5);//獲取當前行中指定列的值,并將返回的字符串對象賦給collect </p><p>  JT1.setText(collect); //將字符串collect顯示在文本框中</p><p>  String bir=rs.getString(6); //獲取當前行中指定列的值,并將返回的字符串對象賦給bir

73、 </p><p>  JT2.setText(bir);//將字符串bir顯示在文本框中</p><p>  int n=stm.executeUpdate(sql);//對數(shù)據(jù)庫進行更新</p><p>  if(n>0)</p><p>  JOptionPane.showMessageDialog(null,

74、"查詢成功!");//通過showMessageDialog()方法打印信息</p><p><b>  else</b></p><p>  JOptionPane.showMessageDialog(null,"查詢失敗!");</p><p><b>  }</b></p

75、><p><b>  else</b></p><p><b>  {</b></p><p>  JOptionPane.showMessageDialog(null,"此用戶不存在!");</p><p><b>  }</b></p><

76、;p>  }catch(Exception ee)</p><p><b>  {</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  if(e.getSource()==JBNext)//處理"重置&qu

77、ot;事件</p><p><b>  {</b></p><p>  JTNumber.setText(null);//設置文本的text值為null</p><p>  JTName.setText(null);//設置文本的text值為null</p><p>  JTClass.setText(

78、null);//設置文本的text值為null</p><p>  JT1.setText(null);//設置文本的text值為null</p><p>  JT2.setText(null);//設置文本的text值為null</p><p><b>  }</b></p><p><b>  }

79、</b></p><p>  public static void main(String args[])</p><p><b>  {</b></p><p>  new ChengJiStudent();//實例化一個對象</p><p><b>  }</b></p&g

80、t;<p><b>  }</b></p><p>  import java.awt.*;</p><p>  import java.awt.event.*;</p><p>  import javax.swing.*;</p><p>  import java.util.*;</p>

81、<p>  import javax.swing.event.*;</p><p>  public class DengLuJieMian extends Frame implements ActionListener</p><p><b>  {</b></p><p>  JLabel JLUserName =new

82、 JLabel("用戶名:");//使用文本創(chuàng)建一個標簽對象</p><p>  JLabel JLPaw =new JLabel("密 碼:");//使用文本創(chuàng)建一個標簽對象</p><p>  JTextField JTUserName=new JTextField();//創(chuàng)建一個文本框?qū)ο?lt;/p>&l

83、t;p>  JPasswordField JPsw =new JPasswordField();//創(chuàng)建一個密碼框?qū)ο?lt;/p><p>  JButton JB1 =new JButton("登錄");//創(chuàng)建按鈕對象</p><p>  JButton JB2 =new JButton("取消");</p>

84、;<p>  JLabel JL1 =new JLabel("身 份:");//使用文本創(chuàng)建一個標簽對象</p><p>  JComboBox JC =new JComboBox();//創(chuàng)建一個組合框?qū)ο?lt;/p><p>  public DengLuJieMian()</p><p><

85、b>  {</b></p><p>  this.setTitle("學生信息管理系統(tǒng)");//設置窗口標題</p><p>  this.setLayout(null);//設置窗口布局管理器</p><p>  JLUserName.setBounds(100,40,100,20);//設置姓名標簽的初

86、始位置</p><p>  this.add(JLUserName);//將姓名標簽組件添加到容器</p><p>  JTUserName.setBounds(200,40,80,20);//設置文本框的初始位置</p><p>  this.add(JTUserName);//將文本框組件添加到容器</p><p

87、>  JLPaw.setBounds(100,100,60,20);//設置密碼標簽的初始位置</p><p>  this.add(JLPaw);//將密碼標簽組件添加到容器</p><p>  JPsw.setBounds(200,100,80,20);//設置密碼框的初始位置</p><p>  this.add(JPsw

88、);//將密碼框組件添加到容器</p><p>  JL1.setBounds(100,150,60,20);//設置身份標簽的初始位置</p><p>  this.add(JL1);//將身份標簽組件添加到容器</p><p>  JC.setBounds(200,150,80,20);//設置組合框的初始位置<

89、;/p><p>  this.add(JC);//將組合框組件添加到容器</p><p>  JC.addItem(new String("學生"));//給組合框添加內(nèi)容</p><p>  JC.addItem(new String("老師"));</p><p>  JB1.s

90、etBounds(100,200,60,20);//設置登錄按鈕的初始位置</p><p>  this.add(JB1);//將登錄按鈕組件添加到容器</p><p>  JB1.addActionListener(this);//給按鈕添加監(jiān)聽器</p><p>  JB2.setBounds(200,200,60,20);

91、//設置取消按鈕的初始位置</p><p>  this.add(JB2);//將取消按鈕組件添加容器</p><p>  JB2.addActionListener(this);//給按鈕添加監(jiān)聽器</p><p>  this.setVisible(true);//設置窗口的可見性</p><p> 

92、 this.setBounds(10,10,400,250);//設置窗口尺寸大小</p><p>  addWindowListener(new WindowAdapter()</p><p>  { public void windowClosing(WindowEvent e)</p><p><b>  {</b></p&

93、gt;<p>  System.exit(0);</p><p><b>  }</b></p><p>  });//通過內(nèi)部類重寫關(guān)閉窗體的方法</p><p><b>  }</b></p><p>  public static void main(String

94、 args[])</p><p><b>  {</b></p><p>  new DengLuJieMian();</p><p><b>  }</b></p><p>  public void actionPerformed(ActionEvent e)</p><p&

95、gt;<b>  {</b></p><p>  if(e.getSource()==JB1) //處理登錄事件</p><p><b>  {</b></p><p>  String name=JTUserName.getText();//將文本框中包含的文本傳給字符串name</p>&

96、lt;p>  String password=new String(JPsw.getPassword());//將密碼框中包含的文本傳給字符串password</p><p>  String box= (String)JC.getSelectedItem();//將當前所選項傳給字符串box</p><p>  if((name!=null&&(name.equal

97、s("daishu")))&&(password!=null&&</p><p>  (password.equals("0816"))))//判斷語句</p><p><b>  {</b></p><p>  if(box.equals("學生&quo

98、t;))//選擇學生身份登錄</p><p><b>  {</b></p><p>  //new StudentJieMian();//調(diào)用學生信息主窗體</p><p><b>  }</b></p><p>  else if(box.equals("教師"

99、))//選擇教師身份登錄</p><p><b>  {</b></p><p>  //new TeacherJieMian();//調(diào)用教師信息主窗體</p><p><b>  }</b></p><p><b>  }</b></p><

100、p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  import java.awt.*;</p><p>  import java.awt.event.*;</p><p&

101、gt;  import javax.swing.*;</p><p>  import java.util.*;</p><p>  import javax.swing.event.*;</p><p>  import java.sql.*;</p><p>  import java.util.Vector;</p>&l

102、t;p>  class SelectStudent extends JFrame implements ActionListener</p><p><b>  {</b></p><p>  JLabel JL =new JLabel("查 詢 學生 信 息",JLabel.CENTER);</p><

103、p>  JLabel JLNumber=new JLabel("請輸入學號:");//使用文本創(chuàng)建一個標簽對象</p><p>  JTextField JTNumber=new JTextField();//創(chuàng)建一個文本框?qū)ο?lt;/p><p>  JLabel JLName =new JLabel("姓名:");//使用文本

104、創(chuàng)建一個標簽對象</p><p>  JTextField JTName =new JTextField();//創(chuàng)建一個文本框?qū)ο?lt;/p><p>  JLabel JLClass =new JLabel("班級:");//使用文本創(chuàng)建一個標簽對象</p><p>  JTextField JTClass =new JTextFiel

105、d();//創(chuàng)建一個文本框?qū)ο?lt;/p><p>  JLabel JLsex =new JLabel("性別:");//使用文本創(chuàng)建一個標簽對象</p><p>  ButtonGroup BG =new ButtonGroup();//創(chuàng)建一個ButtonGroup組件對象</p><p>  JRadioButton JR

106、B1 =new JRadioButton("男");//創(chuàng)建一個單選按鈕對象</p><p>  JRadioButton JRB2 =new JRadioButton("女");</p><p>  JLabel JL1 =new JLabel("學院:");//使用文本創(chuàng)建一個標簽對象</p>

107、<p>  JTextField JT1 =new JTextField();//創(chuàng)建一個文本框?qū)ο?lt;/p><p>  JButton JBSet =new JButton("查詢");//創(chuàng)建按鈕對象</p><p>  JButton JBNext =new JButton("重置");</p>

108、<p>  String sql=""; //定義一個字符串</p><p>  public SelectStudent() //創(chuàng)建SetStudent構(gòu)造函數(shù)</p><p><b>  {</b></p><p>  this.setTitle("查詢學生信息");//設置窗口標題<

109、;/p><p>  this.setLayout(null);//設置窗口布局管理器</p><p>  JL.setForeground(Color.red);//設置標簽的前景色</p><p>  JL.setFont(new java.awt.Font("宋體",Font.PLAIN,19));//設置標簽的字體</p><

110、;p>  JL.setBounds(100,30,200,40);//設置標簽的初始位置</p><p>  this.add(JL);//將標簽添加到容器</p><p>  JLNumber.setBounds(100,80,100,20);//設置學號標簽的初始位置</p><p>  this.add(JLNumber);//將學號標簽添加到容器<

111、;/p><p>  JTNumber.setBounds(200,80,80,20);//設置文本框的初始位置</p><p>  this.add(JTNumber);//將文本框添加到容器</p><p>  JLName.setBounds(100,160,60,20);//設置姓名標簽的初始位置</p><p>  this.add(JL

112、Name);//將姓名標簽添加到容器</p><p>  JTName.setBounds(200,160,80,20);//設置文本框的初始位置</p><p>  this.add(JTName);//將文本框添加到容器</p><p>  JLsex.setBounds(100,200,100,20);//設置性別標簽的初始位置</p><

113、p>  this.add(JLsex);//將性別標簽添加到容器</p><p>  JRB1.setBounds(200,200,40,20);//設置單選按鈕的初始位置</p><p>  JRB2.setBounds(300,200,40,20);</p><p>  this.add(JRB1);//添加單選按鈕組件</p><p&

114、gt;  this.add(JRB2);</p><p>  BG.add(JRB1);//將單選按鈕添加到ButtonGroup組件</p><p>  BG.add(JRB2);</p><p>  JLClass.setBounds(100,280,60,20);//設置班級標簽的初始位置</p><p>  this.add(JLCl

115、ass);//將班級標簽添加到容器</p><p>  JTClass.setBounds(200,280,80,20);//設置文本框的初始位置</p><p>  this.add(JTClass);//將文本框添加到容器</p><p>  JL1.setBounds(100,320,60,20);//設置學院標簽的初始位置</p><p&

116、gt;  this.add(JL1);//將學院標簽添加到容器</p><p>  JT1.setBounds(200,320,80,20);//設置文本框的初始位置</p><p>  this.add(JT1);//將文本框添加到容器</p><p>  JBSet.setBounds(80,120,90,20);//設置查詢按鈕的初始位置</p>

117、<p>  this.add(JBSet);//將查詢按鈕添加到容器</p><p>  JBSet.addActionListener(this);//給按鈕添加監(jiān)聽器</p><p>  JBNext.setBounds(190,120,90,20);//設置重置按鈕的初始位置</p><p>  this.add(JBNext);//將重置按鈕添

118、加到容器</p><p>  JBNext.addActionListener(this);//給按鈕添加監(jiān)聽器</p><p>  this.setBounds(10,10,500,400);//設置窗口尺寸大小</p><p>  this.setVisible(true);//設置窗口的可見性</p><p>  addWindowLi

119、stener(new WindowAdapter()</p><p>  { public void windowClosing(WindowEvent e)</p><p><b>  {</b></p><p>  System.exit(0);</p><p><b>  }</b></

120、p><p>  });//通過內(nèi)部類重寫關(guān)閉窗體的方法</p><p><b>  }</b></p><p>  public void actionPerformed(ActionEvent e)</p><p><b>  {</b></p><p>  if(e.getS

121、ource()==JBSet) //處理"查詢"事件</p><p><b>  {</b></p><p>  String snumber=JTNumber.getText();//將文本框中包含的文本傳給字符串snumber</p><p>  String sname=JTName.getText();//將文本框中

122、包含的文本傳給字符串sname</p><p>  String sclass=JTClass.getText();//將文本框中包含的文本傳給字符串sclass</p><p>  String ssex="女"; //返回單選按鈕的值</p><p>  if(JRB1.isSelected())</p><p>&l

123、t;b>  ssex="男";</b></p><p>  String scollect=JT1.getText();//將文本框中包含的文本傳給字符串scollect </p><p>  sql="select * from student where Id='"+snumber+"'"

124、;//檢索出Id等于snumber的學生的所有信息</p><p>  try //異常處理</p><p><b>  {</b></p><p>  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//加載驅(qū)動程序</p><p>  Connectio

125、n cot=DriverManager.getConnection("jdbc:odbc:student1","","");//打開數(shù)據(jù)庫連接,student1為數(shù)據(jù)源名稱</p><p>  Statement stm=cot.createStatement();//提交查詢</p><p>  ResultSet rs=s

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論