版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 課程設(shè)計(jì)說(shuō)明文檔</b></p><p> 學(xué)生選課管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)</p><p><b> 學(xué)校: </b></p><p><b> 學(xué)院:新媒體學(xué)院</b></p><p> 專業(yè)班級(jí):信息管理與信息系統(tǒng)1班</p>
2、<p><b> 姓名: </b></p><p><b> 學(xué)號(hào): </b></p><p><b> 一、課程設(shè)計(jì)目的</b></p><p> 通過(guò)這次的設(shè)計(jì),主要是做出一個(gè)小型的管理系統(tǒng),來(lái)加強(qiáng)對(duì)JAVA所學(xué)知識(shí)的鞏固和融會(huì)貫通,可以說(shuō)是對(duì)一個(gè)學(xué)期所學(xué)知識(shí)的一個(gè)小結(jié),
3、加深對(duì)JAVA數(shù)據(jù)庫(kù)的理解。</p><p> 二、需求分析功能需求分析: 該系統(tǒng)具備管理學(xué)生信息、課程信息、選課信息的功能:用戶通過(guò)輸入賬號(hào)和密碼進(jìn)下該系統(tǒng)后,可以進(jìn)行一些基礎(chǔ)維護(hù)(學(xué)生信息維護(hù)、課程信息維護(hù)、選課信息維護(hù))。全部都可以進(jìn)行增加、修改、刪除、模糊查詢。</p><p><b> 三、數(shù)據(jù)項(xiàng):</b></p><p>
4、 1表admin(用戶表)</p><p> 2表S(學(xué)生信息表)</p><p> 3表C(課程信息表)</p><p> 4表SC(學(xué)生信息表)</p><p><b> 四、系統(tǒng)功能描述</b></p><p> 該小型系統(tǒng)主要是用于管理學(xué)生及課程的基本信息,主要功能包括四方面的
5、:</p><p> 1.管理學(xué)生信息,其中包括添加,刪除,修改等操作。</p><p> 2.管理課程信息,其中包括添加,刪除,修改等操作。</p><p> 3.管理選課信息,其中包括添加,刪除,修改等操作。</p><p> 4.查詢信息,其中包括查詢學(xué)生信息,查詢課程信息,查詢選課信息等操作。</p><p
6、><b> 五、代碼分析</b></p><p><b> 連接數(shù)據(jù)庫(kù)方法:</b></p><p> 這是java連接數(shù)據(jù)庫(kù)的驅(qū)動(dòng),有關(guān)數(shù)據(jù)庫(kù)的操作都要用到他。</p><p> public static Connection CONN(){</p><p> String dr
7、iverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; //加載JDBC驅(qū)動(dòng)</p><p> String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=student"; //連接服務(wù)器和數(shù)據(jù)庫(kù)test,此處student是數(shù)據(jù)庫(kù)名<
8、/p><p> String userName = "sa"; //默認(rèn)用戶名</p><p> String userPwd = "mima"; //密碼</p><p> Connection dbConn=null;</p><p><b> try {</b>&
9、lt;/p><p> Class.forName(driverName);</p><p> dbConn = DriverManager.getConnection(dbURL, userName, userPwd);</p><p> System.out.println("Connection Successful!"); </
10、p><p> //如果連接成功 控制臺(tái)輸出Connection Successful!</p><p> } catch (Exception e) {</p><p> e.printStackTrace();}</p><p> return dbConn;}</p><p> 用戶登錄界面user.java
11、:</p><p> 登錄時(shí),凡是賬號(hào)密碼未填寫(xiě)、輸入錯(cuò)誤賬號(hào)密碼都會(huì)提出錯(cuò)誤提示框。在填寫(xiě)好賬號(hào)密碼后,會(huì)讀取數(shù)據(jù)庫(kù)里admin表,并查詢其輸入是否存在,若無(wú)誤,則登錄到用戶界面。</p><p> public class User extends JFrame{</p><p> private JLabel use,password; <
12、/p><p> private JTextField k1;//用戶名輸入框</p><p> private JPasswordField k2;//密碼輸入框</p><p> private JButton b1,b2;</p><p><b> //登錄窗口</b></p><p>
13、 public User(JFrame f){</p><p> super("系統(tǒng)登錄");</p><p> Container c=getContentPane();</p><p> c.setLayout(new FlowLayout());</p><p> use=new JLabel("u
14、sername:");</p><p> use.setFont(new Font("Serif",Font.PLAIN,20));</p><p> password=new JLabel("password:");</p><p> password.setFont(new Font("Serif
15、",Font.PLAIN,20));</p><p> k1=new JTextField(12);</p><p> k2=new JPasswordField(12);</p><p> b1=new JButton("登錄");</p><p> b2=new JButton("退出&qu
16、ot;);</p><p><b> //設(shè)置登錄方法</b></p><p> BHandler b=new BHandler();</p><p> EXIT d=new EXIT();</p><p> b1.addActionListener(b);</p><p> b2.a
17、ddActionListener(d);</p><p><b> //添加控件</b></p><p> c.add(use);</p><p> c.add(k1);</p><p> c.add(password);</p><p> c.add(k2);</p>&
18、lt;p> c.add(b1);</p><p> c.add(b2);</p><p> setBounds(600,300,250,150);</p><p> setVisible(true);</p><p> setResizable(false);</p><p> setDefaultC
19、loseOperation(JFrame.EXIT_ON_CLOSE);}</p><p><b> //主函數(shù)</b></p><p> public static void main(String[] args) {</p><p> User f1=new User(new JFrame());}</p><p&
20、gt;<b> 效果圖:</b></p><p> 用戶界面:Menu.java</p><p> 用戶界面能菜單欄有4個(gè)一級(jí)菜單,學(xué)生管理、課程管理、選課管理都能添加、修改、刪除數(shù)據(jù),分別操作數(shù)據(jù)庫(kù)里的S表(學(xué)生),C表(課程),SC表(選課)。查詢管理則可進(jìn)行三個(gè)表的查詢。</p><p> import java.awt.*;&l
21、t;/p><p> import java.awt.event.*;</p><p> import javax.swing.*;</p><p> public class Menu extends JFrame implements ActionListener{</p><p> Addstu 增加學(xué)生界面;</p>
22、<p> Updatastu 修改學(xué)生界面;</p><p> Delstu 刪除學(xué)生界面;</p><p> AddC 增加課程界面;</p><p> DelC 刪除課程界面;</p><p> UpdateC 修改課程界面;</p><p> AddSC 增加選課界面;</p>
23、<p> DelSC 刪除選課界面;</p><p> UpdateSC 修改選課界面;</p><p> Selstu 學(xué)生查詢界面;</p><p> JPanel pCenter;</p><p> CardLayout card=null;</p><p> JLabel label=
24、null;</p><p> JMenuBar mb=new JMenuBar();//菜單欄</p><p> JMenu m1=new JMenu("學(xué)生管理");</p><p> JMenuItem add1=new JMenuItem("add1 ");</p><p> JMen
25、uItem updata1=new JMenuItem("updata1 ");</p><p> JMenuItem delete1=new JMenuItem("delete1 ");</p><p> JMenu m2=new JMenu("課程管理");</p><p> JMenuI
26、tem add2=new JMenuItem("add2 ");</p><p> JMenuItem updata2=new JMenuItem("updata2 ");</p><p> JMenuItem delete2=new JMenuItem("delete2 ");</p><p&
27、gt; JMenu m3=new JMenu("選課管理");</p><p> JMenuItem add3=new JMenuItem("add3 ");</p><p> JMenuItem updata3=new JMenuItem("updata3 ");</p><p> JMe
28、nuItem delete3=new JMenuItem("delete3 ");</p><p> JMenu m4=new JMenu("查詢管理");</p><p> JMenuItem 學(xué)生查詢=new JMenuItem("查詢信息 ");</p><p> JMenuItem m
29、5=new JMenuItem("系統(tǒng)退出");</p><p> Font t=new Font ("sanerif",Font.PLAIN,12);</p><p> public Menu (){</p><p> this.setTitle("學(xué)生選課管理系統(tǒng)");</p>&l
30、t;p> try {UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());}</p><p> catch(Exception e){System.err.println("不能設(shè)置外觀: "+e);}</p><p><b> //組合菜單</b>&
31、lt;/p><p> addMenu1();</p><p> addMenu2();</p><p> addMenu3();</p><p> addMenu4();</p><p> addJMenuBar();</p><p> setJMenuBar(mb);</p>
32、;<p> label=new JLabel("選課管理系統(tǒng)",JLabel.CENTER);</p><p> label.setFont(new Font("宋體",Font.BOLD,36));</p><p> label.setHorizontalTextPosition(SwingConstants.CENTER);&
33、lt;/p><p> label.setForeground(Color.red);</p><p><b> //點(diǎn)擊事件</b></p><p> add1.addActionListener(this);</p><p> updata1.addActionListener(this);</p>
34、<p> delete1.addActionListener(this);</p><p> m5.addActionListener(this);</p><p> add2.addActionListener(this);</p><p> delete2.addActionListener(this);</p><p>
35、; updata2.addActionListener(this);</p><p> add3.addActionListener(this);</p><p> delete3.addActionListener(this);</p><p> updata3.addActionListener(this);</p><p>
36、學(xué)生查詢.addActionListener(this);</p><p> card=new CardLayout();</p><p> pCenter=new JPanel();</p><p> pCenter.setLayout(card);</p><p> 增加學(xué)生界面=new Addstu();</p>
37、<p> 修改學(xué)生界面=new Updatastu(); </p><p> 刪除學(xué)生界面=new Delstu();</p><p> 增加課程界面=new AddC();</p><p> 刪除課程界面=new DelC();</p><p> 修改課程界面=new UpdateC();</p><
38、p> 增加選課界面=new AddSC();</p><p> 刪除選課界面=new DelSC();</p><p> 修改選課界面=new UpdateSC();</p><p> 學(xué)生查詢界面=new Selstu();</p><p> pCenter.add("歡迎界面",label);</
39、p><p> pCenter.add("增加學(xué)生界面",增加學(xué)生界面);</p><p> pCenter.add("修改學(xué)生界面",修改學(xué)生界面);</p><p> pCenter.add("刪除學(xué)生界面",刪除學(xué)生界面);</p><p> pCenter.add(&quo
40、t;增加課程界面",增加課程界面);</p><p> pCenter.add("刪除課程界面",刪除課程界面);</p><p> pCenter.add("修改課程界面",修改課程界面);</p><p> pCenter.add("增加選課界面",增加選課界面);</p>
41、<p> pCenter.add("刪除選課界面",刪除選課界面);</p><p> pCenter.add("修改選課界面",修改選課界面);</p><p> pCenter.add("學(xué)生查詢界面", 學(xué)生查詢界面);</p><p> add(pCenter,BorderLay
42、out.CENTER);</p><p> validate();</p><p> setVisible(true);</p><p> setBounds(400,150,400,280);</p><p> setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);</p>&l
43、t;p> addWindowListener(new WindowAdapter(){//關(guān)閉程序時(shí)的操作</p><p> public void windowClosing(WindowEvent e){System.exit(0);} });</p><p> validate();}</p><p> private void addJMe
44、nuBar() {</p><p> mb.add(m1);mb.add(m2);mb.add(m3);mb.add(m4);mb.add(m5);}</p><p> private void addMenu4() {</p><p> m4.add(學(xué)生查詢);m4.setFont(t);}</p><p> private vo
45、id addMenu3() {</p><p> m3.add(add3);m3.add(updata3);m3.add(delete3);m3.setFont(t);}</p><p> private void addMenu2() {//將菜單加入到菜單欄中</p><p> m2.add(add2);m2.add(updata2);m2.add(de
46、lete2);m2.setFont(t); }</p><p> private void addMenu1() {</p><p> m1.add(add1);m1.add(updata1);m1.add(delete1);m1.setFont(t); }</p><p> public void actionPerformed(ActionEvent e)
47、{</p><p> Object obj=e.getSource();</p><p> if(obj==m5){System.exit(0);}</p><p> else{if(obj==add1){card.show(pCenter,"增加學(xué)生界面");}</p><p> else{if(obj==upd
48、ata1){ card.show(pCenter,"修改學(xué)生界面");}</p><p> else{if(obj==delete1){ card.show(pCenter, "刪除學(xué)生界面");}</p><p> else{if(obj==add2){ card.show(pCenter, "增加課程界面");}</
49、p><p> else{if(obj==delete2){ card.show(pCenter, "刪除課程界面");}</p><p> else{if(obj==updata2){ card.show(pCenter, "修改課程界面");}</p><p> else{if(obj==add3){ card.show(
50、pCenter, "增加選課界面");}</p><p> else{if(obj==delete3){ card.show(pCenter, "刪除選課界面");}</p><p> else{if(obj==updata3){ card.show(pCenter, "修改選課界面");}</p><p&
51、gt; else{if(obj==學(xué)生查詢){ card.show(pCenter, "學(xué)生查詢界面");</p><p> }}}}}}}}}}}}</p><p> public static void main(String[] args) {new Menu();}}</p><p><b> 效果圖:</b>
52、;</p><p> 添加界面:AddC.java/AddSC.java/Addstu.java</p><p> 添加數(shù)據(jù)時(shí),若遇到必須信息未填寫(xiě)、不能重復(fù)的信息在數(shù)據(jù)庫(kù)中已存在,都會(huì)提示無(wú)法添加及其錯(cuò)誤原因。</p><p> import java.awt.*;</p><p> import javax.swing.*;<
53、;/p><p> import java.sql.*;</p><p> import java.awt.event.*;</p><p> public class AddC extends JPanel implements ActionListener{</p><p> JTextField 課號(hào),課名;</p>&
54、lt;p> JButton 錄入;</p><p> public AddC(){</p><p> try {UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());}catch(Exception e){System.err.println("不能設(shè)置外觀: "+e);}
55、</p><p> 課號(hào)=new JTextField(12);</p><p> 課名=new JTextField(12);</p><p> 錄入=new JButton("錄入");</p><p> 錄入.addActionListener(this);</p><p> Box
56、 box1=Box.createHorizontalBox();//橫放box</p><p> Box box2=Box.createHorizontalBox();</p><p> Box box3=Box.createHorizontalBox();</p><p> Box box4=Box.createHorizontalBox();</p&
57、gt;<p> box1.add(new JLabel("課號(hào):"));</p><p> box1.add(課號(hào));</p><p> box2.add(new JLabel("課名:"));</p><p> box2.add(課名);</p><p> box4.add(錄
58、入);</p><p> Box boxH=Box.createVerticalBox();//豎放box</p><p> boxH.add(box1);</p><p> boxH.add(box2);</p><p> boxH.add(box3);</p><p> boxH.add(box4);&l
59、t;/p><p> boxH.add(Box.createVerticalGlue());</p><p> JPanel messPanel=new JPanel();</p><p> messPanel.add(boxH);</p><p> setLayout(new BorderLayout());</p><
60、;p> add(messPanel,BorderLayout.CENTER);</p><p> validate();}</p><p><b> 效果圖:</b></p><p> 添加界面:UpdateC.java/UpdateSC.java /Updatestu.java</p><p> 先查找
61、你想要修改的項(xiàng)目,若修改的信息包括號(hào)碼(學(xué)號(hào)、課號(hào)),則會(huì)進(jìn)行查詢,如果修改后的號(hào)碼已存在,以及修改后必須的信息變成空都會(huì)提示無(wú)法修改和其錯(cuò)誤原因。此外,若修改C表或則S表,會(huì)連同SC表中對(duì)應(yīng)的信息一起修改。</p><p> import java.awt.*;</p><p> import java.awt.event.*;</p><p> impor
62、t java.sql.*;</p><p> import javax.swing.*;</p><p> public class UpdateC extends JPanel implements ActionListener{</p><p> String save=null;</p><p> JTextField 課號(hào)1,
63、課號(hào),課名;</p><p> JButton 修改,查找;</p><p> public UpdateC(){</p><p> try {UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());}catch(Exception e){System.err.println(&q
64、uot;不能設(shè)置外觀: "+e);}</p><p> 課號(hào)1=new JTextField(12);</p><p> 課號(hào)=new JTextField(12);</p><p> 課名=new JTextField(12);</p><p> 修改=new JButton("修改");</
65、p><p> 查找=new JButton("查找");</p><p> Box box1=Box.createHorizontalBox();//橫放box</p><p> Box box2=Box.createHorizontalBox();</p><p> Box box3=Box.createHorizo
66、ntalBox();</p><p> Box box4=Box.createHorizontalBox();</p><p> Box box5=Box.createHorizontalBox();</p><p> box1.add(new JLabel("課號(hào):",JLabel.CENTER));</p><p&g
67、t; box1.add(課號(hào));</p><p> box2.add(new JLabel("課名:",JLabel.CENTER));</p><p> box2.add(課名);</p><p> box3.add(修改);</p><p> box5.add(new JLabel("課號(hào):&quo
68、t;,JLabel.CENTER));</p><p> box5.add(課號(hào)1);</p><p> box5.add(查找);</p><p> 修改.addActionListener(this);</p><p> 查找.addActionListener(this);</p><p> Box b
69、oxH=Box.createVerticalBox();//豎放box</p><p> boxH.add(box1);</p><p> boxH.add(box2);</p><p> boxH.add(box3);</p><p> boxH.add(box4);</p><p> boxH.add(B
70、ox.createVerticalGlue());</p><p> JPanel picPanel=new JPanel();</p><p> JPanel messPanel=new JPanel();</p><p> messPanel.add(box5);</p><p> picPanel.add(boxH);</
71、p><p> setLayout(new BorderLayout());</p><p> JSplitPane splitV=new JSplitPane(JSplitPane.VERTICAL_SPLIT,messPanel,picPanel);//分割</p><p> add(splitV,BorderLayout.CENTER);</p>
72、<p> validate();}</p><p> 刪除界面:DelC.java/DelSC.java /Deltu.java</p><p> 先查找你想要?jiǎng)h除的項(xiàng)目,然后刪除,此外,若刪除C表或則S表的內(nèi)容,會(huì)連同SC表中對(duì)應(yīng)的信息一起修改。</p><p> import java.awt.*;</p><p>
73、 import java.awt.event.*;</p><p> import java.sql.*;</p><p> import javax.swing.*;</p><p> public class DelC extends JPanel implements ActionListener{</p><p> Strin
74、g save=null;</p><p> JTextField 課號(hào)1,課號(hào),課名;</p><p> JButton 刪除,查找;</p><p> public DelC(){</p><p> try {UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassNa
75、me());}catch(Exception e){System.err.println("不能設(shè)置外觀: "+e);}</p><p> 課號(hào)1=new JTextField(12);</p><p> 課號(hào)=new JTextField(12);</p><p> 課名=new JTextField(12);</p>
76、<p> 刪除=new JButton("刪除");</p><p> 查找=new JButton("查找");</p><p> Box box1=Box.createHorizontalBox();//橫放box</p><p> Box box2=Box.createHorizontalBox();&
77、lt;/p><p> Box box3=Box.createHorizontalBox();</p><p> Box box4=Box.createHorizontalBox();</p><p> Box box5=Box.createHorizontalBox();</p><p> box1.add(new JLabel(&quo
78、t;課號(hào):",JLabel.CENTER));</p><p> box1.add(課號(hào));</p><p> box2.add(new JLabel("課名:",JLabel.CENTER));</p><p> box2.add(課名);</p><p> box4.add(刪除);</p>
79、;<p> box5.add(new JLabel("課號(hào):",JLabel.CENTER));</p><p> box5.add(課號(hào)1);</p><p> box5.add(查找);</p><p> Box boxH=Box.createVerticalBox();//豎放box</p><p&
80、gt; boxH.add(box1);</p><p> boxH.add(box2);</p><p> boxH.add(box3);</p><p> boxH.add(box4);</p><p> boxH.add(Box.createVerticalGlue());</p><p> 刪除.ad
81、dActionListener(this);</p><p> 查找.addActionListener(this);</p><p> JPanel picPanel=new JPanel();</p><p> JPanel messPanel=new JPanel();</p><p> messPanel.add(box5);
82、</p><p> picPanel.add(boxH);</p><p> setLayout(new BorderLayout());</p><p> JSplitPane splitV=new JSplitPane(JSplitPane.VERTICAL_SPLIT,messPanel,picPanel);//分割</p><p&g
83、t; add(splitV,BorderLayout.CENTER);</p><p> validate();}</p><p> 查詢界面:Selsto.java</p><p> 可以以任意條件模糊查找相關(guān)的表。</p><p> import java.awt.*;</p><p> import
84、java.awt.event.*;</p><p> import java.sql.*;</p><p> import javax.swing.*;</p><p> public class Selstu extends JPanel implements ActionListener{</p><p> JTextField
85、學(xué)號(hào),姓名,系別;</p><p> JButton 查找;</p><p> JTextField 課號(hào),課名;</p><p> JButton 查找1;</p><p> JTextField 課號(hào)1,學(xué)號(hào)1,成績(jī);</p><p> JButton 查找2; </p><p>
86、 public Selstu (){</p><p> 學(xué)號(hào)=new JTextField(12);</p><p> 姓名=new JTextField(12);</p><p> 系別=new JTextField(12);</p><p> 課號(hào)=new JTextField(12);</p><p>
87、 課名=new JTextField(12);</p><p> 課號(hào)1=new JTextField(12);</p><p> 學(xué)號(hào)1=new JTextField(12);</p><p> 成績(jī)=new JTextField(12);</p><p> 查找=new JButton("查找學(xué)生信息");&
88、lt;/p><p> 查找1=new JButton("查找課程信息");</p><p> 查找2=new JButton("查找選課信息");</p><p> Box box1=Box.createHorizontalBox();//橫放box</p><p> Box box2=Box.cr
89、eateHorizontalBox();</p><p> Box box4=Box.createHorizontalBox();</p><p> Box box5=Box.createHorizontalBox();</p><p> Box box6=Box.createHorizontalBox();</p><p> Box
90、 box7=Box.createHorizontalBox();</p><p> box1.add(new JLabel("學(xué)號(hào):",JLabel.CENTER));</p><p> box1.add(學(xué)號(hào));</p><p> box1.add(new JLabel("姓名:",JLabel.CENTER));&l
91、t;/p><p> box1.add(姓名);</p><p> box1.add(new JLabel("系別:",JLabel.CENTER));</p><p> box1.add(系別);</p><p> box2.add(查找);</p><p> box4.add(new JLa
92、bel("課號(hào):",JLabel.CENTER));</p><p> box4.add(課號(hào));</p><p> box4.add(new JLabel("課名:",JLabel.CENTER));</p><p> box4.add(課名);</p><p> box6.add(查找1);
93、</p><p> box5.add(new JLabel("課號(hào):",JLabel.CENTER));</p><p> box5.add(課號(hào)1);</p><p> box5.add(new JLabel("學(xué)號(hào):",JLabel.CENTER));</p><p> box5.add(學(xué)
94、號(hào)1);</p><p> box5.add(new JLabel("成績(jī):",JLabel.CENTER));</p><p> box5.add(成績(jī));</p><p> box7.add(查找2); </p><p> Box boxH1=Box.createVerticalBox();//豎放box<
95、;/p><p> boxH1.add(box1);</p><p> boxH1.add(box2);</p><p> boxH1.add(Box.createVerticalGlue());</p><p> Box boxH2=Box.createVerticalBox();//豎放box</p><p>
96、 boxH2.add(box4);</p><p> boxH2.add(box6);</p><p> boxH2.add(Box.createVerticalGlue()); </p><p> Box boxH3=Box.createVerticalBox();//豎放box</p><p> boxH3.add(box5);&
97、lt;/p><p> boxH3.add(box7);</p><p> boxH3.add(Box.createVerticalGlue()); </p><p> 查找.addActionListener(this);</p><p> 查找1.addActionListener(this);</p><p>
98、 查找2.addActionListener(this); </p><p> JPanel messPanel=new JPanel();</p><p> JPanel picPanel=new JPanel();</p><p> JPanel threePanel=new JPanel();</p><p> messPan
99、el.add(boxH1);</p><p> picPanel.add(boxH2);</p><p> threePanel.add(boxH3);</p><p> setLayout(new BorderLayout());</p><p> JSplitPane splitV=new JSplitPane(JSplitPan
100、e.VERTICAL_SPLIT,messPanel,picPanel);//分割</p><p> add(splitV,BorderLayout.CENTER);</p><p> JSplitPane splitV1=new JSplitPane(JSplitPane.VERTICAL_SPLIT,splitV,threePanel);//分割</p><p&
101、gt; add(splitV1,BorderLayout.CENTER);</p><p> validate();}</p><p><b> 效果圖:</b></p><p> 五、課程設(shè)計(jì)學(xué)習(xí)心得</p><p> 通過(guò)本次課程設(shè)計(jì),成功的完成了這個(gè)小型簡(jiǎn)單的系統(tǒng)的設(shè)計(jì),在整個(gè)設(shè)計(jì)過(guò)程中我對(duì)JAVA使用和
102、它強(qiáng)大的作用有了一個(gè)更深刻的認(rèn)識(shí),盡管這個(gè)系統(tǒng)很簡(jiǎn)單,但是它讓我綜合運(yùn)用了這個(gè)學(xué)期所學(xué)的JAVA的很多內(nèi)容,在此基礎(chǔ)上,對(duì)JAVA的基礎(chǔ)知識(shí)得到了更好的鞏固。</p><p> 其實(shí),在制作的過(guò)程中我也學(xué)到很多思想:首先,要學(xué)會(huì)統(tǒng)籌全局,合理規(guī)劃,例如在制作整個(gè)框架的時(shí)候提前就要做全面考慮,要把整個(gè)結(jié)構(gòu)圖畫(huà)出來(lái),并且要對(duì)數(shù)據(jù)庫(kù)表里的東西做全面規(guī)劃。同時(shí)在編寫(xiě)程序的時(shí)候也要想好先實(shí)現(xiàn)什么功能,再實(shí)現(xiàn)什么功能,這樣
103、做出來(lái)的東西才有條理性,更容易實(shí)現(xiàn)和理解。其次,要細(xì)心仔細(xì)。Java程序雖然容易理解,但在寫(xiě)的過(guò)程中一不留心就會(huì)出現(xiàn)錯(cuò)誤。當(dāng)然出錯(cuò)是在所難免的,與性質(zhì)有關(guān)的錯(cuò)誤可以經(jīng)過(guò)思考討論后進(jìn)行改正,但如果粗心大意,出現(xiàn)輸入上的錯(cuò)誤就很難發(fā)現(xiàn)和修改,會(huì)耽誤很多時(shí)間。</p><p> 我認(rèn)為最大的收獲是提高了自己的動(dòng)手能力。在平時(shí)的上機(jī)中大多數(shù)是根據(jù)書(shū)上的思想和布局來(lái)寫(xiě)程序的。這次的課程設(shè)計(jì)要自己思考自己寫(xiě),考慮的東西比平
104、時(shí)上機(jī)考慮的要多的多。在整個(gè)設(shè)計(jì)過(guò)程中寫(xiě)代碼不是最難的,最難的是構(gòu)思和布局。這次課程設(shè)計(jì)也是一次很好的實(shí)踐活動(dòng),讓我們體會(huì)到了java的神奇作用。</p><p> 下面是java的源代碼,總共有15個(gè)類。分別是AddC.java,AddSC.java,Addstu.java, Delstu.java,DelC.java, DelSC.java,Menu.java,SelC.java,SelSC.java,Se
105、lstu.java,Student.java,Updatastu.java,UpdateC.java,UpdateSC.java,User.java。</p><p> 因?yàn)楸救颂珣?,所以一些類名的錯(cuò)誤沒(méi)有修改,也沒(méi)有優(yōu)化系統(tǒng),總之還算是能運(yùn)行的,數(shù)據(jù)庫(kù)用的是sql2005,如果用別的數(shù)據(jù)庫(kù)就要改驅(qū)動(dòng),具體自己上網(wǎng)百度吧。如果自己有空,優(yōu)化一下還是很好滴……</p><p> AddC
106、.jaba:</p><p> import java.awt.*;</p><p> import javax.swing.*;</p><p> import java.sql.*;</p><p> import java.awt.event.*;</p><p> public class AddC
107、extends JPanel implements ActionListener{</p><p> JTextField 課號(hào),課名;</p><p> JButton 錄入;</p><p> public AddC(){</p><p> try {UIManager.setLookAndFeel(UIManager.getSy
108、stemLookAndFeelClassName());}</p><p> catch(Exception e){System.err.println("不能設(shè)置外觀: "+e);}</p><p> 課號(hào)=new JTextField(12);</p><p> 課名=new JTextField(12);</p>&
109、lt;p> 錄入=new JButton("錄入");</p><p> 錄入.addActionListener(this);</p><p> Box box1=Box.createHorizontalBox();//橫放box</p><p> Box box2=Box.createHorizontalBox();</p
110、><p> Box box3=Box.createHorizontalBox();</p><p> Box box4=Box.createHorizontalBox();</p><p> box1.add(new JLabel("課號(hào):"));</p><p> box1.add(課號(hào));</p>&
111、lt;p> box2.add(new JLabel("課名:"));</p><p> box2.add(課名);</p><p> box4.add(錄入);</p><p> Box boxH=Box.createVerticalBox();//豎放box</p><p> boxH.add(box1)
112、;</p><p> boxH.add(box2);</p><p> boxH.add(box3);</p><p> boxH.add(box4);</p><p> boxH.add(Box.createVerticalGlue());</p><p> JPanel messPanel=new JPa
113、nel();</p><p> messPanel.add(boxH);</p><p> setLayout(new BorderLayout());</p><p> add(messPanel,BorderLayout.CENTER);</p><p> validate();</p><p><b
114、> }</b></p><p> public void actionPerformed(ActionEvent c){</p><p> Object obj=c.getSource();</p><p> if(obj==錄入){</p><p> if(課號(hào).getText().equals("&q
115、uot;)||課名.getText().equals("")){</p><p> JOptionPane.showMessageDialog(this,"學(xué)生信息請(qǐng)?zhí)顫M再錄入!" );</p><p><b> }</b></p><p> Statement stmt=null;</p&g
116、t;<p> ResultSet rs=null,rs1=null;</p><p> String sql,sql1;</p><p> sql1="select * from C where Cno='"+課號(hào).getText()+"'";</p><p> sql="ins
117、ert into C values('"+課號(hào).getText()+"','"+課名.getText()+"')";</p><p><b> try{</b></p><p> Connection dbConn1=CONN();</p><p> stm
118、t=(Statement)dbConn1.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);</p><p> rs1=stmt.executeQuery(sql1);</p><p> if(rs1.next()){JOptionPane.showMessageDialog(th
119、is,"該課號(hào)以存在,無(wú)法添加");}</p><p><b> else{</b></p><p> stmt.executeUpdate(sql);</p><p> JOptionPane.showMessageDialog(this,"添加成功");</p><p>
120、;<b> }</b></p><p> rs1.close();</p><p> stmt.close();</p><p><b> }</b></p><p> catch(SQLException e){</p><p> System.out.pr
121、int("SQL Exception occur.Message is:"+e.getMessage());</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b&
122、gt; //連接數(shù)據(jù)庫(kù)方法</b></p><p> public static Connection CONN(){</p><p> String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; //加載JDBC驅(qū)動(dòng)</p><p> Strin
123、g dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=student"; //連接服務(wù)器和數(shù)據(jù)庫(kù)test</p><p> String userName = "sa"; //默認(rèn)用戶名</p><p> String userPwd = "huangjiwei&quo
124、t;; //密碼</p><p> Connection dbConn=null;</p><p><b> try {</b></p><p> Class.forName(driverName);</p><p> dbConn = DriverManager.getConnection(dbURL, u
125、serName, userPwd);</p><p> System.out.println("Connection Successful!"); //如果連接成功 控制臺(tái)輸出Connection Successful!</p><p> } catch (Exception e) {</p><p> e.printStackTrac
126、e();</p><p><b> }</b></p><p> return dbConn;</p><p><b> }</b></p><p><b> }</b></p><p> AddSC.java:</p><
127、p> import java.awt.*;</p><p> import javax.swing.*;</p><p> import java.sql.*;</p><p> import java.util.*;</p><p> import javax.swing.filechooser.*;</p>
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- java與anroid高級(jí)編程課程設(shè)計(jì)
- 課程設(shè)計(jì)--學(xué)生選課及成績(jī)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- java課程設(shè)計(jì)報(bào)告學(xué)生家教管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- java課程設(shè)計(jì)--超市管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- jsp課程設(shè)計(jì)--學(xué)生選課管理信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 學(xué)生選課管理系統(tǒng)課程設(shè)計(jì)
- 3web編程學(xué)生選課系統(tǒng)課程設(shè)計(jì)
- 基于java的學(xué)生選課系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)
- 課程設(shè)計(jì)---基于java的學(xué)生成績(jī)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 學(xué)生選課管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- java課程設(shè)計(jì)-人事管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- java學(xué)生管理系統(tǒng)課程設(shè)計(jì)
- 學(xué)生選課系統(tǒng)課程設(shè)計(jì)
- 學(xué)生選課系統(tǒng)課程設(shè)計(jì)
- 學(xué)生管理系統(tǒng)課程設(shè)計(jì)(java)
- 學(xué)生管理系統(tǒng)-java課程設(shè)計(jì)
- 學(xué)生管理系統(tǒng)課程設(shè)計(jì)(java)
- 學(xué)生選課系統(tǒng)課程設(shè)計(jì)
- 課程設(shè)計(jì)報(bào)告--學(xué)生選課管理系統(tǒng)
- 課程設(shè)計(jì)----學(xué)生選課管理
評(píng)論
0/150
提交評(píng)論