版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、17Java程序設(shè)計(jì)一、課程設(shè)計(jì)要求:1、用到書上(課本或?qū)嶒?yàn)冊)上的至少三個實(shí)例;2、用到至少兩種布局和至少四種組件;3、用到對話框;4、用到對數(shù)據(jù)庫的查詢、刪除、添加和修改;5、最好用到輸入輸出流;6、具有一定的實(shí)際意義。二、用到的實(shí)例及實(shí)際意義:2.1 程序所用到的實(shí)例:1、Java2使用教程第10章例題10.12 P282;2、Java2使用教程第11章例題11.8 P323;3、Java2使用教程第15章所有例題均有使用作參考 P391-411;4、在其他參考書和網(wǎng)上也有用到相關(guān)程序和代碼,并有所參考和借鑒。2.2程序的實(shí)際意義: 本學(xué)生成績管理系統(tǒng)具有對學(xué)生成績進(jìn)行管理的功能。并于
2、數(shù)據(jù)庫相連接,能夠?qū)W(xué)生的成績、姓名、出生日期進(jìn)行查詢、添加和刪除等,簡捷方便,容易使用。三、程序代碼及運(yùn)行效果:3.1.1 主類代碼:/*主類代碼*/import javax.swing.*;import java.awt.*;import java.awt.event.*;class MyPanel extends JPanel Image img=Toolkit.getDefaultToolkit().getImage("c:/a.jpg"); public void paint(Graphics g) g.drawImage(img,0,0,this); publi
3、c class MainForm extends JFrame implements ActionListener JMenu mSystem=new JMenu("系統(tǒng)"); JMenuItem mExit=new JMenuItem("退出"); JMenu mOperate=new JMenu("數(shù)據(jù)操作"); JMenuItem mAdd=new JMenuItem("添加"); JMenuItem mDel=new JMenuItem("刪除"); JMenuItem mModify=
4、new JMenuItem("修改"); JMenu mQuery=new JMenu("查詢"); JMenuItem mName=new JMenuItem("按姓名查詢"); JMenuItem mScore=new JMenuItem("按成績查詢"); JMenu mHelp=new JMenu("幫助"); JMenuItem mAbout=new JMenuItem("軟件信息"); JMenuBar mBar=new JMenuBar(); MainForm(
5、) super("學(xué)生成績管理系統(tǒng)"); setSize(875,583); mSystem.add(mExit); mOperate.add(mAdd); mOperate.add(mDel); mOperate.add(mModify); mQuery.add(mName); mQuery.add(mScore); mHelp.add(mAbout); mBar.add(mSystem); mBar.add(mOperate); mBar.add(mQuery); mBar.add(mHelp); setJMenuBar(mBar); mExit.addActionLi
6、stener(this); mAdd.addActionListener(this); mDel.addActionListener(this); mModify.addActionListener(this); mName.addActionListener(this); mScore.addActionListener(this); mAbout.addActionListener(this); setContentPane(new MyPanel(); setVisible(true); public void actionPerformed(ActionEvent ae) if(ae.
7、getSource()=mExit) System.exit(0); else if(ae.getSource()=mAbout) JOptionPane.showMessageDialog(this,"學(xué)生成績管理系統(tǒng)nn應(yīng)用科學(xué)學(xué)院nn2011年4月","軟件信息",JOptionPane.INFORMATION_MESSAGE); else if(ae.getSource()=mAdd) new AddForm().setVisible(true); else if(ae.getSource()=mDel) new DeleteForm().set
8、Visible(true); else if(ae.getSource()=mModify) new ModifyForm().setVisible(true); else if(ae.getSource()=mName) new NameQueryForm().setVisible(true); else if(ae.getSource()=mScore) new ScoreQueryForm().setVisible(true); public static void main(String args) new MainForm(); 3.1.2 運(yùn)行效果:3.2.1 修改數(shù)據(jù):/*修改數(shù)
9、據(jù)*/import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.*;public class ModifyForm extends JFrame implements ActionListener JLabel labName=new JLabel("姓名:"); JLabel labDate=new JLabel("出生日期:"); JLabel labScore=new JLabel("成績:"); JTextField txtNa
10、me=new JTextField(20); JTextField txtDate=new JTextField(18); JTextField txtScore=new JTextField(20); JButton btnModify=new JButton("修改"); JButton btnCancel=new JButton("取消"); JButton btnQuery=new JButton("查詢"); JPanel pan=new JPanel(); JPanel pan1=new JPanel(); JPanel
11、pan2=new JPanel(); JPanel pan3=new JPanel(); JPanel pan4=new JPanel(); Connection con; Statement sql; ResultSet rs; ModifyForm() super("修改數(shù)據(jù)"); setSize(400,300); pan1.add(labName); pan1.add(txtName); pan2.add(labDate); pan2.add(txtDate); pan3.add(labScore); pan3.add(txtScore); pan4.add(btn
12、Query); pan4.add(btnModify); pan4.add(btnCancel); pan.setLayout(new GridLayout(3,1); pan.add(pan1); pan.add(pan2); pan.add(pan3); getContentPane().add(pan,"Center"); getContentPane().add(pan4,"South"); btnQuery.addActionListener(this); btnModify.addActionListener(this); btnCancel
13、.addActionListener(this); btnModify.setEnabled(false); txtDate.setEditable(false); txtScore.setEditable(false); setVisible(true); txtName.requestFocus(); public void actionPerformed(ActionEvent ae) if(ae.getSource()=btnCancel) dispose(); else if(ae.getSource()=btnQuery) try Class.forName("sun.j
14、dbc.odbc.JdbcOdbcDriver"); catch(ClassNotFoundException e) trycon=DriverManager.getConnection("jdbc:odbc:sun","gxy","123"); sql=con.createStatement(); rs=sql.executeQuery("select * from 成績表 where 姓名='"+txtName.getText()+"'"); if(rs.next(
15、) txtName.setText(rs.getString("姓名"); txtScore.setText(new Integer(rs.getInt("成績").toString(); txtDate.setText(rs.getDate("出生日期").toString(); btnModify.setEnabled(true); txtDate.setEditable(true); txtScore.setEditable(true); else System.out.println("不存在該記錄! ")
16、; btnModify.setEnabled(false); txtName.setText(""); txtScore.setText(""); txtDate.setText(""); txtDate.setEditable(false); txtScore.setEditable(false); catch(SQLException e) else if(ae.getSource()=btnModify) try System.out.println("Update 成績表 set 出生日期='"+t
17、xtDate.getText()+"',成績="+txtScore.getText()+" where 姓名='"+txtName.getText()+"'"); sql.executeUpdate("Update 成績表 set 出生日期='"+txtDate.getText()+"',成績="+txtScore.getText()+" where 姓名='"+txtName.getText()+"'&quo
18、t;); System.out.println("記錄修改完畢!"); btnModify.setEnabled(false); txtName.setText(""); txtScore.setText(""); txtDate.setText(""); txtDate.setEditable(false); txtScore.setEditable(false); con.close(); catch(SQLException e) public static void main(String args) ne
19、w ModifyForm(); 3.2.2 運(yùn)行效果:3.3.1 刪除數(shù)據(jù):/*刪除數(shù)據(jù)*/import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.*;public class DeleteForm extends JFrame implements ActionListenerJLabel labName=new JLabel("姓名:"); JLabel labDate=new JLabel("出生日期:"); JLabel labScore=new
20、 JLabel("成績:"); JTextField txtName=new JTextField(20); JTextField txtDate=new JTextField(18); JTextField txtScore=new JTextField(20); JButton btnDelete=new JButton("刪除"); JButton btnCancel=new JButton("取消"); JButton btnQuery=new JButton("查詢"); JPanel pan=new J
21、Panel(); JPanel pan1=new JPanel(); JPanel pan2=new JPanel(); JPanel pan3=new JPanel(); JPanel pan4=new JPanel(); Connection con; Statement sql; ResultSet rs; DeleteForm() super("刪除數(shù)據(jù)"); setSize(400,300); pan1.add(labName); pan1.add(txtName); pan2.add(labDate); pan2.add(txtDate); pan3.add(l
22、abScore); pan3.add(txtScore); pan4.add(btnQuery); pan4.add(btnDelete); pan4.add(btnCancel); pan.setLayout(new GridLayout(3,1); pan.add(pan1); pan.add(pan2); pan.add(pan3); getContentPane().add(pan,"Center"); getContentPane().add(pan4,"South"); btnQuery.addActionListener(this); bt
23、nDelete.addActionListener(this); btnCancel.addActionListener(this); btnDelete.setEnabled(false);/取消刪除按鈕的功能 txtDate.setEditable(false); txtScore.setEditable(false); setVisible(true); txtName.requestFocus(); public void actionPerformed(ActionEvent ae) if(ae.getSource()=btnCancel) dispose(); else if(ae
24、.getSource()=btnQuery)/實(shí)現(xiàn)查詢功能 try Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); catch(ClassNotFoundException e) trycon=DriverManager.getConnection("jdbc:odbc:sun","gxy","123"); sql=con.createStatement(); rs=sql.executeQuery("select * from 成績表 where 姓名=
25、39;"+txtName.getText()+"'"); if(rs.next() txtName.setText(rs.getString("姓名"); txtScore.setText(new Integer(rs.getInt("成績").toString(); txtDate.setText(rs.getDate("出生日期").toString(); btnDelete.setEnabled(true);/使刪除按鈕功能實(shí)現(xiàn) txtDate.setEditable(true); txtS
26、core.setEditable(true); else System.out.println("不存在該記錄!"); btnDelete.setEnabled(false); txtName.setText(""); txtScore.setText(""); txtDate.setText(""); txtDate.setEditable(false); txtScore.setEditable(false); catch(SQLException e) else if(ae.getSource()=btnDe
27、lete)/實(shí)現(xiàn)刪除功能 try System.out.println("Update 成績表 set 出生日期='"+txtDate.getText()+"',成績="+txtScore.getText()+" where 姓名='"+txtName.getText()+"'"); sql.executeUpdate("DELETE FROM 成績表 where 姓名='"+txtName.getText()+"'"); Sy
28、stem.out.println("記錄刪除完畢!"); btnDelete.setEnabled(false); txtName.setText(""); txtScore.setText(""); txtDate.setText(""); txtDate.setEditable(false); txtScore.setEditable(false); con.close(); catch(SQLException e) public static void main(String args) new Delet
29、eForm(); 3.3.2 運(yùn)行效果:3.4.1 添加數(shù)據(jù):/*添加數(shù)據(jù)*/import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.*;public class AddForm extends JFrame implements ActionListenerJLabel labName=new JLabel("姓名:"); JLabel labDate=new JLabel("出生日期:"); JLabel labScore=new JLabel(&q
30、uot;成績:"); JTextField txtName=new JTextField(20); JTextField txtDate=new JTextField(18); JTextField txtScore=new JTextField(20); JButton btnAdd=new JButton("添加"); JButton btnCancel=new JButton("取消"); JPanel pan=new JPanel(); JPanel pan1=new JPanel(); JPanel pan2=new JPanel()
31、; JPanel pan3=new JPanel(); JPanel pan4=new JPanel(); Connection con; Statement sql; ResultSet rs; AddForm() super("添加數(shù)據(jù)"); setSize(400,300); pan1.add(labName); pan1.add(txtName); pan2.add(labDate); pan2.add(txtDate); pan3.add(labScore); pan3.add(txtScore); pan4.add(btnAdd); pan4.add(btnCa
32、ncel); pan.setLayout(new GridLayout(3,1); pan.add(pan1); pan.add(pan2); pan.add(pan3); getContentPane().add(pan,"Center"); getContentPane().add(pan4,"South"); btnAdd.addActionListener(this); btnCancel.addActionListener(this); btnAdd.setEnabled(true); txtDate.setEditable(true); tx
33、tScore.setEditable(true); setVisible(true); txtName.requestFocus(); public void actionPerformed(ActionEvent ae) String recode,insert1,出生日期,姓名; int 成績; if(ae.getSource()=btnCancel) this.dispose(); else if(ae.getSource()=btnAdd) try Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); catch(ClassN
34、otFoundException e) trycon=DriverManager.getConnection("jdbc:odbc:sun","gxy","123"); sql=con.createStatement(); 姓名=txtName.getText(); 出生日期=txtDate.getText(); 成績=Integer.parseInt(txtScore.getText(); recode="("+"'"+姓名+"'"+","
35、;+"'"+出生日期+""+"',"+成績+")" insert1="INSERT INTO 成績表 VALUES "+recode; sql.executeUpdate(insert1); System.out.println("記錄添加完畢!"); btnAdd.setEnabled(false); txtName.setText(""); txtScore.setText(""); txtDate.setText(
36、""); con.close(); catch(SQLException e) public static void main(String args) new AddForm(); 3.4.2 運(yùn)行效果:3.5.1 按姓名查詢數(shù)據(jù):/*按姓名查詢數(shù)據(jù)*/import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.*;public class NameQueryForm extends JFrame implements ActionListener JLabel labNam
37、e=new JLabel("姓名:"); JLabel labDate=new JLabel("出生日期:"); JLabel labScore=new JLabel("成績:"); JTextField txtName=new JTextField(20); JTextField txtDate=new JTextField(18); JTextField txtScore=new JTextField(20); JButton btnCancel=new JButton("取消"); JButton btnQu
38、ery=new JButton("查詢"); JPanel pan=new JPanel(); JPanel pan1=new JPanel(); JPanel pan2=new JPanel(); JPanel pan3=new JPanel(); JPanel pan4=new JPanel(); Connection con; Statement sql; ResultSet rs; NameQueryForm() super("按姓名查詢"); setSize(400,300); pan1.add(labName); pan1.add(txtNa
39、me); pan2.add(labDate); pan2.add(txtDate); pan3.add(labScore); pan3.add(txtScore); pan4.add(btnQuery); pan4.add(btnCancel); pan.setLayout(new GridLayout(3,1); pan.add(pan1); pan.add(pan2); pan.add(pan3); getContentPane().add(pan,"Center"); getContentPane().add(pan4,"South"); btnQ
40、uery.addActionListener(this); btnCancel.addActionListener(this); txtDate.setEditable(false); txtScore.setEditable(false); setVisible(true); txtName.requestFocus(); public void actionPerformed(ActionEvent ae) if(ae.getSource()=btnCancel) dispose(); else if(ae.getSource()=btnQuery) try Class.forName(&
41、quot;sun.jdbc.odbc.JdbcOdbcDriver"); catch(ClassNotFoundException e) trycon=DriverManager.getConnection("jdbc:odbc:sun","gxy","123"); sql=con.createStatement(); rs=sql.executeQuery("select * from 成績表 where 姓名='"+txtName.getText()+"'"); i
42、f(rs.next() txtName.setText(rs.getString("姓名"); txtScore.setText(new Integer(rs.getInt("成績").toString(); txtDate.setText(rs.getDate("出生日期").toString(); else System.out.println("不存在該記錄! "); txtName.setText(""); txtScore.setText(""); txtDate.
43、setText(""); txtName.requestFocus(); catch(SQLException e) public static void main(String args) new NameQueryForm(); 3.5.2 運(yùn)行效果:3.6.1 按成績查詢數(shù)據(jù):/*按成績查詢數(shù)據(jù)*/import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.*;import javax.swing.table.DefaultTableModel;import javax.
44、swing.table.JTableHeader;public class ScoreQueryForm extends JFrame implements ActionListener JLabel labScore=new JLabel("請輸入成績:"); JTextField txtScore=new JTextField(10); JButton btnQuery=new JButton("查詢"); JPanel pan1=new JPanel(); JPanel pan2=new JPanel(); String str="姓名&
45、quot;,"出生日期","成績" Object data=new Object103; JTable table=new JTable(data,str); JTableHeader head=table.getTableHeader(); JScrollPane jsp=new JScrollPane(table);/滾動 Connection con; Statement sql; ResultSet rs; ScoreQueryForm() super("按成績查詢"); setSize(400,300); pan1.add(labScore); pan1.add(txtScore); pan1.add(btnQuery);/以上3條在第一個面板加入內(nèi)容 getContentPane().add(pan1,"North");/把面板1放到窗口頂部 pan2.setLayout(new BorderLayout(); pan2.add(head,"North");/將表頭放在面板2的頂部 pan2.add(jsp,"Center");/表格放在pan2中間 getContentPane().add(pan2,"Center");
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 820字借款協(xié)議書范本
- 工程資料買賣合同范本
- 毛坯房裝修半包合同模板
- 商品房購買合同(適用于商品房預(yù)售、銷售)
- 勞務(wù)承包合同范本
- 2024年專業(yè)委托管理合同模板
- 家政工服務(wù)協(xié)議書樣本
- 投標(biāo)授權(quán)書合同書
- 職員股權(quán)激勵協(xié)議文本
- 新的公租房買賣合同范本
- 2023年陜煤集團(tuán)招聘筆試題庫及答案解析
- GB/T 11376-2020金屬及其他無機(jī)覆蓋層金屬的磷化膜
- 高二上學(xué)期化學(xué)人教版(2019)選擇性必修1實(shí)驗(yàn)計(jì)劃
- 六年級下冊音樂教案第六單元《畢業(yè)歌》人教新課標(biāo)
- 世界咖啡介紹 PPT
- 中醫(yī)藥膳學(xué)全套課件
- 馬王堆出土文物藝術(shù)欣賞-課件
- 初中語文人教六年級下冊《專題閱讀:概括主要事件》PPT
- 13、停電停水等突發(fā)事件的應(yīng)急預(yù)案以及消防制度
- DB42T1811-2022西瓜設(shè)施育苗技術(shù)規(guī)程
- 早教托育園招商加盟商業(yè)計(jì)劃書
評論
0/150
提交評論