版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上課程設(shè)計(jì)(論文)任務(wù)書(shū)學(xué) 院理學(xué)院專(zhuān) 業(yè)信息與計(jì)算科學(xué)學(xué)生姓名班級(jí)學(xué)號(hào)課程名稱(chēng)JAVA程序設(shè)計(jì)課程設(shè)計(jì)課程設(shè)計(jì)(論文)題目員工信息管理系統(tǒng)設(shè)計(jì)題目:使用JAVA語(yǔ)言及Eclipse開(kāi)發(fā)工具設(shè)計(jì)并實(shí)現(xiàn)員工信息管理系統(tǒng)。設(shè)計(jì)任務(wù):1、設(shè)計(jì)一個(gè)員工管理系統(tǒng)2、利用圖形用戶界面實(shí)現(xiàn)程序的運(yùn)行3、實(shí)現(xiàn)員工信息的添加、刪除、查詢(xún)、和修改等功能4、應(yīng)用文件的相關(guān)知識(shí)來(lái)完成計(jì)劃與進(jìn)度安排:十七周:周一、周四選題進(jìn)行程序的設(shè)計(jì)十八周:周一設(shè)計(jì)的輔導(dǎo);周四課程設(shè)計(jì)檢查答辯成績(jī):指導(dǎo)教師(簽字): 2010年7月8日 專(zhuān)業(yè)負(fù)責(zé)人(簽字):2010年7月18日主管院長(zhǎng)(簽字): 2010年7
2、月19日摘 要JAVA不僅是一門(mén)最為流行的計(jì)算機(jī)語(yǔ)言,而且已經(jīng)形成一種專(zhuān)門(mén)的技術(shù),帶來(lái)了20世紀(jì)末和本世紀(jì)初網(wǎng)絡(luò)科技和網(wǎng)絡(luò)經(jīng)濟(jì)超常發(fā)展。JAVA的與平臺(tái)無(wú)關(guān)性、高可靠性、安全機(jī)制和內(nèi)嵌網(wǎng)絡(luò)支持等特性使它成為編寫(xiě)網(wǎng)絡(luò)應(yīng)用程序的首選工具之一。從另一方面來(lái)看,軟件開(kāi)發(fā)的規(guī)模也日漸擴(kuò)大,對(duì)軟件質(zhì)量的要求越來(lái)越高,與之相對(duì)應(yīng)的是,各種軟件技術(shù)和工具層出不窮,各種軟件開(kāi)發(fā)、軟件質(zhì)量控制、軟件管理法方法學(xué)業(yè)日漸成熟。面對(duì)軟件發(fā)展的這一現(xiàn)狀和趨勢(shì),無(wú)論是擁有計(jì)算機(jī)基礎(chǔ)知識(shí)的學(xué)生還是IT領(lǐng)域的起步者,熟練掌握一門(mén)語(yǔ)言都是至關(guān)重要的。JAVA是一個(gè)面向?qū)ο蟮某绦蛟O(shè)計(jì)軟件,它將重點(diǎn)放在數(shù)據(jù)和對(duì)象的接口上,與C+相比
3、的主要不同在于多繼承,在JAVA中,取而代之的是簡(jiǎn)單的接口,以及JAVA的元類(lèi)模型。這也很大程度上給我們初學(xué)編程的人帶來(lái)很呆的方便,也使我們更容易掌握J(rèn)AVA編程的一些基本要領(lǐng)和深層知識(shí)。該程序是利用文件來(lái)實(shí)現(xiàn)的,程序的重要作用是對(duì)員工信息進(jìn)行管理,包括員工信息的添加、查詢(xún)、修改、刪除。通過(guò)該課程設(shè)計(jì),使同學(xué)們進(jìn)一步理解概JAVA的基本概念、理論和方法,初步掌握J(rèn)DK、Eclipse的調(diào)試和應(yīng)用,以及程序中錯(cuò)誤的解決方法,明確JAVA在實(shí)際程序設(shè)計(jì)中的應(yīng)用。使課堂中學(xué)習(xí)到理論得到應(yīng)用,練習(xí)文件形式在JAVA程序設(shè)計(jì)中的應(yīng)用。關(guān)鍵詞:面向?qū)ο蟆④浖_(kāi)發(fā)、繼承、員工管理目 錄專(zhuān)心-專(zhuān)注-專(zhuān)業(yè)員工管
4、理系統(tǒng)一、設(shè)計(jì)目的通過(guò)該課程設(shè)計(jì),使同學(xué)們進(jìn)一步理解概JAVA的基本概念、理論和方法,初步掌握J(rèn)DK、Eclipse的調(diào)試和應(yīng)用,以及程序中錯(cuò)誤的解決方法,明確JAVA在實(shí)際程序設(shè)計(jì)中的應(yīng)用。使課堂中學(xué)習(xí)到理論得到應(yīng)用,練習(xí)文件形式在JAVA程序設(shè)計(jì)中的應(yīng)用。二、設(shè)計(jì)問(wèn)題設(shè)計(jì)題目:?jiǎn)T工管理系統(tǒng)設(shè)計(jì)要求:(1)完成員工信息的添加、刪除、查詢(xún)、修改功能(2)使用用戶界面操作(3)使用文件形式完成設(shè)計(jì)思路:首先設(shè)計(jì)界面進(jìn)入面板,在面板中添加菜單選項(xiàng),并將要實(shí)現(xiàn)的功能選項(xiàng)添加其中,然后對(duì)這些選項(xiàng)實(shí)施監(jiān)聽(tīng),實(shí)現(xiàn)其功能。通過(guò)文件類(lèi)型知識(shí)的應(yīng)用,實(shí)現(xiàn)對(duì)員工信息的管理。三、概要設(shè)計(jì)面板設(shè)計(jì):首先設(shè)計(jì)一個(gè)容器,
5、然后再容器中添加菜單,在菜單中添加選項(xiàng),并在容器中加入面板,面板布局設(shè)置為CardLayout,最后將面板添加進(jìn)容器。功能實(shí)現(xiàn):在錄入、查詢(xún)、修改和刪除界面中使用JButton、JLabel、ButtonGroup、JRadioButton、JTextField、Choice為界面中加入相應(yīng)的組件,并對(duì)其進(jìn)行監(jiān)聽(tīng),同時(shí)附加了文件流的處理。四、詳細(xì)設(shè)計(jì)1、定義員工類(lèi):public class Employee implements java.io.Serializable String number,name,discipling,grade,borth,sex; public Employee
6、() public void setNumber(String number) this.number=number; public String getNumber() return number; public void setName(String name) =name; public String getName() return name; public void setDiscipling(String discipling) this.discipling=discipling; public String getDisciping() return disc
7、ipling; public void setGrade(String grade) this.grade=grade; public String getGrade() return grade; public void setBorth(String borth) this.borth=borth; public String getBorth() return borth; public void setSex(String sex) this.sex=sex; public String getSex() return sex; 2、主程序:import java.awt.*;impo
8、rt java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.Hashtable;public class EmployeeManager extends JFrame implements ActionListenerEmployeeSituation 基本信息錄入=null; ModifySituation 基本信息修改=null; Inquest 基本信息查詢(xún)=null; Delete 基本信息刪除=null; JMenuBar bar; JMenu fileMenu; JMenuItem 錄入,修改
9、,查詢(xún),刪除; Container con=null; Hashtable 基本信息=null; File file=null; CardLayout card=null; JLabel label=null; JPanel pCenter; public EmployeeManager() 錄入=new JMenuItem(錄入員工基本信息); 修改=new JMenuItem(修改員工基本信息); 查詢(xún)=new JMenuItem(查詢(xún)員工基本信息); 刪除=new JMenuItem(刪除員工基本信息); bar=new JMenuBar(); fileMenu=new JMenu(菜單
10、選項(xiàng)); fileMenu.add(錄入); fileMenu.add(修改); fileMenu.add(查詢(xún)); fileMenu.add(刪除); bar.add(fileMenu); setJMenuBar(bar); label=new JLabel(歡迎進(jìn)入員工信息管理系統(tǒng),JLabel.CENTER); label.setFont(new Font(SansSerif,Font.BOLD+Font.ITALIC,25); label.setForeground(Color.red); 基本信息=new Hashtable(); 錄入.addActionListener(this)
11、; 修改.addActionListener(this); 查詢(xún).addActionListener(this); 刪除.addActionListener(this); card=new CardLayout(); con=getContentPane(); pCenter=new JPanel(); pCenter.setLayout(card); pCenter.setBackground(Color.yellow); file=new File(基本信息.txt); if(!file.exists() try FileOutputStream out=new FileOutputStr
12、eam(file); ObjectOutputStream objectOut=new ObjectOutputStream(out); objectOut.writeObject(基本信息); objectOut.close(); out.close(); catch(IOException e) 基本信息錄入=new EmployeeSituation(file); 基本信息修改=new ModifySituation(file); 基本信息查詢(xún)=new Inquest(this,file); 基本信息刪除=new Delete(file); pCenter.add(歡迎語(yǔ)界面,label
13、); pCenter.add(錄入界面,基本信息錄入); pCenter.add(修改界面,基本信息修改); pCenter.add(刪除界面,基本信息刪除); con.add(pCenter,BorderLayout.CENTER); con.validate(); addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) System.exit(0); ); setVisible(true); setBounds(100,50,420,380); validate(); public voi
14、d actionPerformed(ActionEvent e) if(e.getSource()=錄入) card.show(pCenter,錄入界面); else if(e.getSource()=修改) card.show(pCenter,修改界面); else if(e.getSource()=查詢(xún)) 基本信息查詢(xún).setVisible(true); else if(e.getSource()=刪除) card.show(pCenter,刪除界面); public static void main(String args) new EmployeeManager(); 3、實(shí)現(xiàn)員工信息
15、的錄入:import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.*;public class EmployeeSituation extends JPanel implements ActionListener Hashtable 基本信息表=null; JTextField 員工號(hào),姓名,工資; Choice 部門(mén); JRadioButton 男,女; Employee 員工=null; ButtonGroup group=null; JButton 錄入
16、,重置; FileInputStream inOne=null; ObjectInputStream inTwo=null; FileOutputStream outOne=null; ObjectOutputStream outTwo=null; File file=null; public EmployeeSituation(File file) this.file=file; 員工號(hào)=new JTextField(10); 姓名=new JTextField(10); 部門(mén)=new Choice(); 部門(mén).add(請(qǐng)選擇); 部門(mén).add(研發(fā)部); 部門(mén).add(銷(xiāo)售部); 部門(mén).a
17、dd(人事部); 部門(mén).add(安全部); 工資=new JTextField(10); group=new ButtonGroup(); 男=new JRadioButton(男,true); 女=new JRadioButton(女,false); group.add(男); group.add(女); 錄入=new JButton(錄入); 重置=new JButton(重置); 錄入.addActionListener(this); 重置.addActionListener(this); Box box1=Box.createHorizontalBox(); box1.add(new
18、JLabel(員工號(hào):,JLabel.CENTER); box1.add(員工號(hào)); Box box2=Box.createHorizontalBox(); box2.add(new JLabel(姓名:,JLabel.CENTER); box2.add(姓名); Box box3=Box.createHorizontalBox(); box3.add(new JLabel(性別:,JLabel.CENTER); box3.add(男); box3.add(女); Box box4=Box.createHorizontalBox(); box4.add(new JLabel(部門(mén):,JLabe
19、l.CENTER); box4.add(部門(mén)); Box box6=Box.createHorizontalBox(); box6.add(new JLabel( ,JLabel.CENTER); Box box5=Box.createHorizontalBox(); box5.add(new JLabel(工資:,JLabel.CENTER); box5.add(工資); Box boxH=Box.createVerticalBox(); boxH.add(box1); boxH.add(box2); boxH.add(box3); boxH.add(box5); boxH.add(box6
20、); boxH.add(box4); boxH.add(Box.createVerticalGlue(); JPanel pCenter=new JPanel(); pCenter.add(boxH); pCenter.setBackground(Color.yellow); setLayout(new BorderLayout(); add(pCenter,BorderLayout.CENTER); JPanel pSouth=new JPanel(); pSouth.add(錄入); pSouth.add(重置); pSouth.setBackground(Color.yellow); a
21、dd(pSouth,BorderLayout.SOUTH); validate(); public void actionPerformed(ActionEvent e) if(e.getSource()=錄入) String number=; number=員工號(hào).getText(); if(number.length()0) try inOne=new FileInputStream(file); inTwo=new ObjectInputStream(inOne); 基本信息表=(Hashtable)inTwo.readObject(); inOne.close(); inTwo.clo
22、se(); catch(Exception ee) if(基本信息表.containsKey(number) String warning=該員工基本信息已存在,請(qǐng)到修改頁(yè)面修改!; JOptionPane.showMessageDialog(this,warning,警告,JOptionPane.WARNING_MESSAGE); else String m=基本信息將被錄入!; int ok=JOptionPane.showConfirmDialog(this,m,確認(rèn),JOptionPane.YES_NO_OPTION, JOptionPane.INFORMATION_MESSAGE);
23、 if(ok=JOptionPane.YES_OPTION) String name=姓名.getText(); String discipling=部門(mén).getSelectedItem(); String grade=工資.getText(); String sex=null; if(男.isSelected() sex=男.getText(); else sex=女.getText(); 員工=new Employee(); 員工.setNumber(number); 員工.setName(name); 員工.setDiscipling(discipling); 員工.setGrade(g
24、rade); 員工.setSex(sex); try outOne=new FileOutputStream(file); outTwo=new ObjectOutputStream(outOne); 基本信息表.put(number,員工); outTwo.writeObject(基本信息表); outTwo.close(); outOne.close(); 員工號(hào).setText(null); 姓名.setText(null); 工資.setText(null); catch(Exception ee) System.out.println(ee); else String warning
25、=必須要輸入員工號(hào)!; JOptionPane.showMessageDialog(this,warning,警告,JOptionPane.WARNING_MESSAGE); if(e.getSource()=重置) 員工號(hào).setText(null); 姓名.setText(null); 部門(mén).remove(部門(mén).getSelectedIndex(); 工資.setText(null); 4、實(shí)現(xiàn)員工信息的修改:import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import java
26、.util.*;public class ModifySituation extends JPanel implements ActionListener Hashtable 基本信息表=null; JTextField 員工號(hào),姓名,工資; Choice 部門(mén);JRadioButton 男,女;ButtonGroup group=null;JButton 開(kāi)始修改,錄入修改,重置;FileInputStream inOne=null;ObjectInputStream inTwo=null;FileOutputStream outOne=null;ObjectOutputStream out
27、Two=null;File file=null; public ModifySituation(File file)this.file=file;員工號(hào)=new JTextField(10);姓名=new JTextField(10); 部門(mén)=new Choice();部門(mén).add(請(qǐng)選擇);部門(mén).add(研發(fā)部);部門(mén).add(銷(xiāo)售部);部門(mén).add(人事部);部門(mén).add(安全部); 工資=new JTextField(10); group=new ButtonGroup(); 男=new JRadioButton(男,true); 女=new JRadioButton(女,false);
28、 group.add(男); group.add(女); 開(kāi)始修改=new JButton(開(kāi)始修改); 錄入修改=new JButton(錄入修改); 錄入修改.setEnabled(false); 重置=new JButton(重置); 員工號(hào).addActionListener(this); 開(kāi)始修改.addActionListener(this); 錄入修改.addActionListener(this); 重置.addActionListener(this); Box box1=Box.createHorizontalBox(); box1.add(new JLabel(輸入要修改信
29、息的員工號(hào):,JLabel.CENTER); box1.add(員工號(hào)); box1.add(開(kāi)始修改); Box box2=Box.createHorizontalBox(); box2.add(new JLabel(姓名:,JLabel.CENTER); box2.add(姓名); Box box3=Box.createHorizontalBox(); box3.add(new JLabel(性別:,JLabel.CENTER); box3.add(男); box3.add(女); Box box4=Box.createHorizontalBox(); box4.add(new JLabe
30、l(部門(mén):,JLabel.CENTER); box4.add(部門(mén)); Box box6=Box.createHorizontalBox(); box6.add(new JLabel( ,JLabel.CENTER); Box box5=Box.createHorizontalBox(); box5.add(new JLabel(工資:,JLabel.CENTER); box5.add(工資); Box boxH=Box.createVerticalBox(); boxH.add(box1); boxH.add(box2); boxH.add(box3); boxH.add(box5); bo
31、xH.add(box6); boxH.add(box4); boxH.add(Box.createVerticalGlue(); JPanel pCenter=new JPanel(); pCenter.add(boxH); pCenter.setBackground(Color.yellow); setLayout(new BorderLayout(); add(pCenter,BorderLayout.CENTER); JPanel pSouth=new JPanel(); pSouth.add(錄入修改); pSouth.add(重置); pSouth.setBackground(Col
32、or.yellow); add(pSouth,BorderLayout.SOUTH); validate();public void actionPerformed(ActionEvent e) if(e.getSource()=開(kāi)始修改|e.getSource()=員工號(hào))String number=;number=員工號(hào).getText();if(number.length()0) try inOne=new FileInputStream(file); inTwo=new ObjectInputStream(inOne); 基本信息表=(Hashtable)inTwo.readObjec
33、t(); inOne.close(); inTwo.close(); catch(Exception ee) if(基本信息表.containsKey(number) 錄入修改.setEnabled(true); Employee stu=(Employee)基本信息表.get(number); 姓名.setText(stu.getName(); 部門(mén).getSelectedItem(); 工資.setText(stu.getGrade(); if(stu.getSex().equals(男) 男.setSelected(true); else 女.setSelected(true); els
34、e 錄入修改.setEnabled(false); String warning=該員工號(hào)不存在!; JOptionPane.showMessageDialog(this,warning,警告,JOptionPane.WARNING_MESSAGE); 員工號(hào).setText(null); 姓名.setText(null); 部門(mén).remove(部門(mén).getSelectedItem(); 工資.setText(null); else 錄入修改.setEnabled(false); String warning=必須要輸入員工號(hào)!; JOptionPane.showMessageDialog(t
35、his,warning,警告,JOptionPane.WARNING_MESSAGE); 員工號(hào).setText(null); 姓名.setText(null); 部門(mén).remove(部門(mén).getSelectedItem(); 工資.setText(null); else if(e.getSource()=錄入修改) String number=;number=員工號(hào).getText();if(number.length()0)try inOne=new FileInputStream(file); inTwo=new ObjectInputStream(inOne); 基本信息表=(Hash
36、table)inTwo.readObject(); inOne.close(); inTwo.close(); catch(Exception ee) if(基本信息表.containsKey(number) String question=該員工基本信息已存在,您想修改他(她)的基本信息嗎?; JOptionPane.showMessageDialog(this,question,警告,JOptionPane.QUESTION_MESSAGE); String m=基本信息將被修改!; int ok=JOptionPane.showConfirmDialog(this,m,確認(rèn),JOptio
37、nPane.YES_NO_OPTION, JOptionPane.INFORMATION_MESSAGE); if(ok=JOptionPane.YES_OPTION) String name=姓名.getText(); String discipling=部門(mén).getSelectedItem(); String grade=工資.getText(); String sex=null; if(男.isSelected() sex=男.getText(); else sex=女.getText(); Employee 員工=new Employee(); 員工.setNumber(number)
38、; 員工.setName(name); 員工.setDiscipling(discipling); 員工.setGrade(grade); 員工.setSex(sex); try outOne=new FileOutputStream(file); outTwo=new ObjectOutputStream(outOne); 基本信息表.put(number,員工); outTwo.writeObject(基本信息表); outTwo.close(); outOne.close(); 員工號(hào).setText(null); 姓名.setText(null); 部門(mén).remove(部門(mén).getSe
39、lectedItem(); 工資.setText(null); catch(Exception ee) System.out.println(ee); 錄入修改.setEnabled(false); else if(ok=JOptionPane.NO_OPTION) 錄入修改.setEnabled(true); else String warning=該員工號(hào)沒(méi)有基本信息,不能修改!; JOptionPane.showMessageDialog(this,warning,警告,JOptionPane.WARNING_MESSAGE); 錄入修改.setEnabled(false); elseString warning=必須要輸入員工號(hào)!;JOptionPane.showMessageDialog(this,warning,警告,
溫馨提示
- 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ù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年浙教版九年級(jí)地理下冊(cè)階段測(cè)試試卷
- 2025年粵教新版九年級(jí)歷史上冊(cè)月考試卷含答案
- 2025年中圖版選擇性必修3歷史上冊(cè)月考試卷含答案
- 2025年滬教版八年級(jí)歷史下冊(cè)階段測(cè)試試卷含答案
- 2025年人教新起點(diǎn)高一語(yǔ)文上冊(cè)月考試卷
- 遵義醫(yī)藥高等專(zhuān)科學(xué)校《現(xiàn)代漢語(yǔ)語(yǔ)法研究》2023-2024學(xué)年第一學(xué)期期末試卷
- 二零二五年度出租車(chē)行業(yè)駕駛員安全責(zé)任合同范本4篇
- 二零二五年度出租車(chē)公司車(chē)輛調(diào)度合同3篇
- 房屋贈(zèng)與合同范本(2篇)
- 2025年度農(nóng)機(jī)保險(xiǎn)代理銷(xiāo)售合同范本4篇
- 蛋糕店服務(wù)員勞動(dòng)合同
- 土地買(mǎi)賣(mài)合同參考模板
- 2025高考數(shù)學(xué)二輪復(fù)習(xí)-專(zhuān)題一-微專(zhuān)題10-同構(gòu)函數(shù)問(wèn)題-專(zhuān)項(xiàng)訓(xùn)練【含答案】
- 新能源行業(yè)市場(chǎng)分析報(bào)告
- 2025年天津市政建設(shè)集團(tuán)招聘筆試參考題庫(kù)含答案解析
- 巖土工程勘察.課件
- 60歲以上務(wù)工免責(zé)協(xié)議書(shū)
- 滋補(bǔ)類(lèi)用藥的培訓(xùn)
- 北師大版高三數(shù)學(xué)選修4-6初等數(shù)論初步全冊(cè)課件【完整版】
- 高職《勞動(dòng)教育》指導(dǎo)綱要
- XX公司年會(huì)活動(dòng)報(bào)價(jià)單
評(píng)論
0/150
提交評(píng)論