天天看點

《Java程式設計》終極不改版 1.前言     Java語言是目前IT行業應用最多,也是最主流的開發語言之一(另一主流是.NET),其應用前景很廣。Java語言本身主要用于開發桌面應用程式。與此相對應,JSP、Servlet和JavaBean等是基于Java語言開發Web應用程式的技術。本課程設計的任務就是使用Java或JSP、Servlet和JavaBean等元件開發一套桌面或Web應用程式。 2.  需求分析 3. 程式設計環境: 4.  詳細設計

 半年前的作品,上傳隻為紀念~

<b></b>

成績: <b>____0.1______</b>

<b>Java</b><b>程式設計</b>

<b> </b><b>課程設計</b>

題   

目:大學生資訊管理系統

學   

院: 

計算機與軟體學院

專   

業:     網絡工程_____­

.           

        學   

号:範晉傑20151346023

 金恒昱20151346024

 魯方偉20151346081

指導教師:      

方巍_______

2016年12月23日

<b>目 </b>

<b> </b>

<a href="#_Toc263756951">1. 前言............................................. 1</a>

<a href="#_Toc263756952">2. 需求分析.......................................... 1</a>

<a href="#_Toc263756953">3. 概要設計.......................................... 1</a>

<a href="#_Toc263756954">4. 詳細設計.......................................... 2</a>

  我們準備開發一個全國大學生資訊管理系統。系統功能包括如下:

  添加學生資訊

  檢視學生資訊

  修改學生資訊

  删除學生資訊

  相關技術簡介:我們采用java程式設計技術,用到了資料庫,圖形化設計等。

市場需求:主要解決一個管理學生資訊的問題,學生學号,班級,成績之類的問題,旨在為各大高校提供一個開源、自由、免費的簡單管理軟體。這個問題要求我們提供一個管理學生資訊安全的平台,避免學生資訊的缺漏。人性化的圖形管理界面,加上優美的背景音樂和可愛的開場動畫,讓管理者可以更加愉悅得對學生資訊進行管理。

Development Kit)稱為Java開發包或Java開發工具,是一個編寫Java的Applet小程式和應用程式的程式開發環境。JDK是整個Java的核心,包括了Java運作環境(Java

Runtime

Envirnment),一些Java工具和Java的核心類庫(Java

API)。不論什麼Java應用伺服器實質都是内置了某個版本的JDK。采用Eclipse工具,一個開放源代碼的、基于Java的可擴充開發平台。

程式子產品流程:

<b>類設計:</b>

SplashWindow            

開始動畫

LogIn                   

登陸界面,輸入使用者名,密碼等

MySound                 

背景音樂播放

Student                 

主界面各種功能

QueryStudent            

學生搜尋

StudentIn               

錄入學生

DeleteStudent           

學生删除

StudentInformationBrower

學生概覽

UpdatePassword          

修改密碼

<b>資料庫設計:</b>

學生名

學号

Java

資料結構

機率統計

入學時間

龍傲天

20151

59

34

47

2015

餘笑

201419

38

24

36

2014

李四

201625

20

69

89

2016

金大牙

201513

75

96

鄭官聖

200615

79

2006

魯方偉

20151346081

60

80

詳細代碼:

//“删除學生資訊”功能類代碼

class

DeleteStudent   

implements 

ActionListener

{  

JFrame f;

Container cp;

JPanel jpS,jpanelWest;

JButton 

jbt1,jbt2,jbt3;//按鈕,查詢、取消、修改

JLabel label,L;                 

//标簽:請輸入學号

JTextField tf;   

//定義文本框

JTable table;//用來接收資料庫中傳回的資訊

Object columnName[]={"學生名","學号","Java","資料結構","機率統計","入學時間"};

Object ar[][] =new Object[80][6];

String sno;

//String count="xx";

DeleteStudent()

   {

    f=new

JFrame();

cp=f.getContentPane(); // 初始化面闆、按鈕、标簽、文本框

jpS=new JPanel();      

jpanelWest=new JPanel();

jbt1=new JButton("查詢");  

jbt2=new JButton("取消");

jbt3=new JButton("删除");

label=new JLabel("請輸入要删除的學生名:",SwingConstants.CENTER);

label.setForeground(Color.blue);

table=new JTable(ar,columnName);//ar存放表中的資料,columnname表示列名

JScrollPane scrollpane = new JScrollPane(table);

tf=new JTextField(18);

jpS.add(jbt1);

jpS.add(jbt2);

jpS.add(jbt3);

JPanel jpanel=new JPanel();

jpanel.add(label);

jpanel.add(tf);

JPanel pp4=new JPanel();

JPanel jpE=new JPanel();

cp.add(jpanel,"North");

JPanel jp=new JPanel();

JPanel p=new JPanel();//用來放兩個表

p.setLayout(new BorderLayout());

p.add(scrollpane);

cp.add(pp4,"West");

cp.add(p,"Center");

cp.add(jpS,"South");

cp.add(jpE,"East");

Dimension

screen=Toolkit.getDefaultToolkit().getScreenSize();

f.setSize(400,330);

f.setLocation((screen.width-350)/2,(screen.height-350)/2);

 f.setVisible(true);

jbt1.addActionListener(this);//注冊監聽器

jbt2.addActionListener(this);

jbt3.addActionListener(this);

}

    int

i=0;

   public void

showRecord(String ql)

{

while(i&gt;=0)

{   

ar[i][0]="";

ar[i][1]="";

ar[i][2]="";

ar[i][3]="";

ar[i][4]="";

ar[i][5]="";

i--;

try{

Class.forName("com.hxtt.sql.access.AccessDriver");

}catch(ClassNotFoundException

e){System.out.println("加載驅動程式失敗!");}

Connection con =

DriverManager.getConnection("jdbc:Access:/D:/Student.mdb"); 

 Statement

sql;        

 String

s="select * from 表book 

where 學生名='"+ql +"'";

sql=con.createStatement();

  ResultSet

rs=sql.executeQuery(s);

 while(rs.next())

String bname=rs.getString(1);

String bno=rs.getString(2);

String price=rs.getString(3);

String writer=rs.getString(4);

String publish=rs.getString(5);

String indate=rs.getString(6);

ar[i][0]=bname;

ar[i][1]=bno;

ar[i][2]=price;

ar[i][3]=writer;

ar[i][4]=publish;

ar[i][5]=indate;

i++;

f.repaint();

 con.close();System.out.println(ar[0][1]);

}catch(SQLException g)

 System.out.println("E

Code"+g.getErrorCode());

M"+g.getMessage());

}}

deleteRecord(int index)

DriverManager.getConnection("jdbc:Access:/D:/Student.mdb");

Statement sql;        

String ql=(String)(ar[index][1]);

String s="delete from 表book 

where 學号 ='"+ql +"'";

 int

del=sql.executeUpdate(s);

if(del==1)

{JOptionPane.showMessageDialog(null,"删除成功!",

 "資訊",

JOptionPane.YES_NO_OPTION);

 }

 con.close();

System.out.println("E Code"+g.getErrorCode());

System.out.println("E M"+g.getMessage());

  public void actionPerformed(ActionEvent

e)

String remember="";

String ql="";

cmd=e.getActionCommand();

  if(cmd.equals("查詢"))

 ql=tf.getText().trim();

remember=ql;

showRecord(ql);

if(cmd.equals("删除"))

   int

index=table.getSelectedRow();

   if(

index==-1)

 JOptionPane.showMessageDialog(null,"請標明要删除的表格行",

 "輸入錯誤",

else{

deleteRecord(index);

if(cmd.equals("取消"))

f. dispose();   

public

static void main(String []arg){

DeleteStudent a=new DeleteStudent();

package

大學生資訊管理系統;

QueryStudent implements ActionListener

JFrame f3=new JFrame();

Container cp=new JPanel();

JPanel jp1=new JPanel();

JPanel jp2=new JPanel();

JPanel jp3=new JPanel();

JPanel jp4=new JPanel();

JPanel jpanelWest=new JPanel();;

jbt1=new JButton("确定");

JButton jbt2=new JButton("取消");//按鈕,确定、取消

JLabel label;              

//标簽:請輸入圖書号

JTextField tf,tf1,tf2,tf3,tf4,tf5,tf6;   

JLabel label1,label2,label3,label4;

QueryStudent()

cp=f3.getContentPane(); // 初始化面闆、按鈕、标簽、文本框

label=new JLabel("請輸入學生學号:",SwingConstants.CENTER);

tf=new JTextField(20);

tf1=new JTextField(20);

tf2=new JTextField(20);

tf3=new JTextField(20);

tf4=new JTextField(20);

tf5=new JTextField(20);

tf6=new JTextField(20);

JPanel jpane4=new JPanel();

JPanel pp2=new JPanel(new GridLayout(6,1));

JPanel pp3=new JPanel();

pp4.setLayout(new GridLayout(6,1));

pp4.add(new JLabel("學生名",SwingConstants.CENTER));

pp2.add(tf1);

pp4.add(new JLabel("學号",SwingConstants.CENTER));

pp2.add(tf2);

pp4.add(new JLabel(";

pp2.add(tf3);

pp4.add(new JLabel("資料結構",SwingConstants.CENTER));

pp2.add(tf4);

pp4.add(new JLabel("機率統計",SwingConstants.CENTER));

pp2.add(tf5);

pp4.add(new JLabel("入學時間",SwingConstants.CENTER));

pp2.add(tf6);

pp3.add(jbt1);

pp3.add(jbt2);

cp.add(pp2,"Center");

cp.add(pp3,"South");

cp.add(jpane4,"East");

f3.setSize(350,330);

f3.setLocation((screen.width-350)/2,(screen.height-350)/2);

 f3.setVisible(true);

void showRecord()

String ql=tf2.getText().trim();

String s="select * from 表book 

 ResultSet

 if(rs.next())

String sname=rs.getString(1);

String sno=rs.getString(2);

String ;

String DataStructure=rs.getString(4);

String Statistics=rs.getString(5);

String time=rs.getString(6);

tf1.setText(sname);

tf2.setText(sno);

tf3.setText(;

tf4.setText(DataStructure);

tf5.setText(Statistics);

tf6.setText(time);

else

{JOptionPane.showMessageDialog(null,"您輸入的學号不存在,請重新輸入",

tf1.setEditable(false);

tf2.setEditable(false);

tf3.setEditable(false);

tf4.setEditable(false);

tf5.setEditable(false);

tf6.setEditable(false);

void actionPerformed(ActionEvent e)

if(cmd.equals("确定"))

showRecord();

tf.setText("");

   else

f3.dispose();            

QueryStudent a=new QueryStudent();

import

java.awt.event.*;

javax.swing.*;

java.awt.*;

java.util.*;

java.sql.*;

javax.swing.text.JTextComponent;

StudentIn  

JPanel jpanelWest=new JPanel();

jbt1,jbt2;//按鈕:确定、取消、

//标簽

JTextField tf1,tf2,tf3,tf4,tf5,tf6;   

StudentIn()

jbt1=new JButton("确定");  

label=new JLabel("錄入學生",SwingConstants.CENTER);

     tf1=new

JTextField(20);

jp1.add(jbt1);

jp1.add(jbt2);

sno=tf4.getText();

jp1.add(new JLabel("您好"+sno+"歡迎登陸學生資訊系統"));

insertRecord()

if(tf1.getText().equals("")||tf2.getText().equals("")||tf3.getText().equals("")||

tf4.getText().equals("")||tf5.getText().equals("")||tf6.getText().equals(""))

JOptionPane.showMessageDialog(f3,"請填寫學生資料");

return;

Connection

con=DriverManager.getConnection("jdbc:Access:/D:/Student.mdb");

String s="insert into 表book 

values('"+tf1.getText()+"','"+tf2.getText()+"','"+

tf3.getText()+"','"+tf4.getText()+"','"+tf5.getText()+"','"+tf6.getText()+"');";

String query="select * from 表book

where 學号='"+tf2.getText()+"'";

sql=con.createStatement();     

ResultSet rs=sql.executeQuery(query);//傳回查詢結果集

boolean moreRecords=rs.next();//判斷結果集是否有資料

if(moreRecords)

 JOptionPane.showMessageDialog(f3,"學号已經被使用,請重新輸入");

 tf2.setText("");

 return;

int insert=sql.executeUpdate(s);

 if(insert==1)

JOptionPane.showMessageDialog(null,"學生資訊錄入成功!");

tf1.setText("");

tf2.setText("");

tf3.setText("");

tf4.setText("");

tf5.setText("");

tf6.setText("");

actionPerformed(ActionEvent e)

insertRecord();

 else

f3. dispose();   

   public static void

main(String []arg){

StudentIn a=new StudentIn();