軟件工程課程設計報告實驗室設備管理系統(tǒng)_第1頁
軟件工程課程設計報告實驗室設備管理系統(tǒng)_第2頁
軟件工程課程設計報告實驗室設備管理系統(tǒng)_第3頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、.實驗室設備管理系統(tǒng)目錄一、 系統(tǒng)的開發(fā)背景與目標1、開發(fā)背景2、開發(fā)目標二、 可行性分析與初步開發(fā)計劃1、技術可行性2、經(jīng)濟可行性3、法律可行性4、初步開發(fā)計劃三、 需求分析1、系統(tǒng)功能列表2、數(shù)據(jù)流圖3、數(shù)據(jù)字典4、數(shù)據(jù)加工的描述5、性能需求四、 系統(tǒng)設計1、系統(tǒng)結構圖2、輸出設計3、數(shù)據(jù)庫結構設計4、模塊詳細設計五、 課程設計總結六、 代碼七、 參考文獻一、系統(tǒng)的開發(fā)背景與開發(fā)目標1、系統(tǒng)的開發(fā)背景現(xiàn)代社會的校園網(wǎng)絡環(huán)境,已經(jīng)大大發(fā)生了變化,除了個人筆記本電腦,各種計算機、語音實驗室機房也成為了使用頻率頗高的場所,我們不能僅僅把它理解為提供上機的環(huán)境,而是應該完善此處的各種相關工作,如考

2、勤,收費等,同時最大限度的降低機房的運營成本,提高使用率。通過建設“實驗室設備管理系統(tǒng)”,運用先進的技術手段和設備,滿足以上應用需求。實驗室設備管理系統(tǒng)是一個功能比較完善的數(shù)據(jù)管理軟件,具有數(shù)據(jù)操作方便高效迅速等優(yōu)點,具有很好的可移植性,可在WINDOWS系列等操作系統(tǒng)上使用。2、系統(tǒng)的開發(fā)目標a 提高人員的工作效率,提高設備的利用率b實驗室的設備管理更加便捷有效c減少設備管理的費用,節(jié)省開支d提高決策效率e能夠準確的控制生產(chǎn)二、可行性分析與初步開發(fā)計劃1技術可行性1.1對系統(tǒng)的簡要描述在原來的手工系統(tǒng)之上創(chuàng)建,利用計算機實現(xiàn)對實驗室設備的管理,包括借出、購入、修理儀器、歸還儀器等各種功能1.

3、2采用建議系統(tǒng)可能帶來的影響在建立所建議系統(tǒng)時,預期會帶來的影響包括以下幾個方面。(1)對設備的影響由于所建議系統(tǒng)是基于WINDOWS操作系統(tǒng)和互聯(lián)網(wǎng)的,所以需要配備足夠符合以上列出的各種軟硬件條件的計算機和通信線路。系統(tǒng)失效后,服務器端需要利用備份的數(shù)據(jù)庫恢復數(shù)據(jù)信息,要求要有足夠的數(shù)據(jù)備份空間。(2)對軟件的影響需要落實是否有符合本報告所列出的正版的軟件環(huán)境,如果沒有則需要購買。(3)對用戶單位機構的影響投入使用前還需改進現(xiàn)有的管理模式。(4)對開發(fā)的影響管理員只要輸入簡單的數(shù)據(jù)就可以完成設備管理。(5)對經(jīng)費開支的影響除了需要支付開發(fā)單位的有關費用外,每年還需要一定的運行維護費用(見經(jīng)濟

4、可行性分析)。1.3技術可行性評價本系統(tǒng)是一個基于局域網(wǎng)、互聯(lián)網(wǎng)和WINDOWS操作的系統(tǒng),現(xiàn)有技術已較為成熟,利用現(xiàn)有技術完全可以實現(xiàn)系統(tǒng)開發(fā)目標。同時,開發(fā)期限較為寬裕,預計可以在規(guī)定期限內(nèi)完成開發(fā)任務。2經(jīng)濟可行性2.1支出(1)一次性支出1)系統(tǒng)開發(fā)、建立費用3.4萬元。其中:本系統(tǒng)開發(fā)期為3個月,需要開發(fā)人員3人(不一定都是參加滿3個月)。根據(jù)軟件系統(tǒng)的規(guī)模估算,開發(fā)工作量月為3人2個月即6人月,每人月的人工費按5000員計算,開發(fā)費用為3萬元。實驗室設備等基本信息建立需要2人1個月即2人月,每人月的人工費用按2000員計算,需0.4萬元。2)硬件設備費共4.6萬元,其中:微機1臺約

5、0.6萬元;服務器1臺及網(wǎng)絡等設備費4萬元。3)外購開發(fā)工具、軟件環(huán)境費用共4萬元。4)其他費用共2萬元。一次性支出總費用:14萬元。(2)經(jīng)常性費用主要是系統(tǒng)的運行費用,假設本系統(tǒng)運行期10年,每年的運行費用(包括系統(tǒng)維修、設備維護等)5萬元,按年利率5%計算運行費用見 表A-1 系統(tǒng)投資成本總額為:14+38.6082=52.6082 萬元2.2效益假設投入本系統(tǒng),效率可以提高50%,以現(xiàn)有的工作人員10人計算,可減少5人,每人每月平均工資按2500元計算,每年節(jié)約人員工資5×12×0.25=15萬元/年。按年利率5%計算,效益計算如下表。系統(tǒng)收益總額為:115.827

6、9萬元。2.3收益/投資比在10年期內(nèi),系統(tǒng)總成本52.6082萬元,系統(tǒng)總收益115.8279萬元。投資回報率:×(即為52.6082=15 /(1+j)+15/(1+j)2+15/(1+j)10的方程解i×100)純收益:115.827952.608263.21975萬元從經(jīng)濟上考慮,開發(fā)本系統(tǒng)完全可行的。2.4投資回收周期投資回收期:3+(52.608240.8489)/12.3406=3.95年2.5敏感性分析生命周期為10年,需要30人左右。3法律可行性3.1法律因素侵犯專利權:有侵犯版權:有為了能夠解決在使用實驗設備出現(xiàn)的一些問題,需要建立一個安全完善的管理平臺

7、,能夠使設備信息能夠快速完整地自動記錄在案,并自動更新3.2用戶使用可行性適用于實驗室設備管理,系統(tǒng)操作簡單,便于管理人員使用。4初步開發(fā)計劃任務計劃時間人員開發(fā)背景與目標2天可行性分析3天需求分析10天系統(tǒng)設計20天編碼15天調(diào)試5天三、需求分析1、系統(tǒng)功能列表(Function List)需求標號需求名稱需求來源需求描述需求等級1統(tǒng)計查詢用戶查詢設備的信息如購買日期,型號類別低2維修用戶維修的情況,維修員,維修日期,維修狀況中3購買用戶購買的情況和信息,購買日期,價格高4報廢用戶報廢設備的信息,報廢日期和型號數(shù)量高2、數(shù)據(jù)流圖0層數(shù)據(jù)流圖:1層數(shù)據(jù)流圖:2層數(shù)據(jù)流圖:3、數(shù)據(jù)字典1.數(shù)據(jù)流

8、條目登陸信息輸入:設備管理員輸出:身份驗證描述:登陸信息=用戶名+密碼+登陸權限查詢信息輸入:合法人員對設備的查詢操作輸出:設備信息表描述:查詢信息=設備名|型號|類別|購置日期維修信息輸入:所需維修設備的信息輸出:確定維修設備的記錄描述:維修信息=修理日期+設備名+編號+修理廠家+修理費用+責任人購買設備輸入:購買設備的信息輸出:確定購買的新設備的記錄描述:新設備=類別+設備名+編號+型號+規(guī)格+單價+數(shù)量+購置日期+生產(chǎn)廠家+保質(zhì)期+經(jīng)辦人等報廢設備輸入:所需報廢的設備的信息輸出:報廢的設備記錄 描述:報廢設備=類別+設備+型號等審核信息輸入:審核輸出:上級領導描述:審核信息=報廢設備信息

9、/新設備購買信息2加工條目身份驗證,統(tǒng)計查詢,維修,購買,報廢,生產(chǎn)報表,審核。3.文件條目登陸表輸入:身份驗證輸出:身份驗證數(shù)據(jù)結構:用戶名+密碼+登陸權限設備基本信息表輸入:統(tǒng)計查詢數(shù)據(jù)結構:類別+設備名+型號+規(guī)格等維修記錄表輸入:統(tǒng)計查詢,維修輸出:統(tǒng)計查詢數(shù)據(jù)結構:修理日期+設備名+編號+修理廠家+修理費用+責任人購買設備表輸入:統(tǒng)計查詢,購買輸出:統(tǒng)計查詢數(shù)據(jù)結構:類別+設備名+編號+型號+規(guī)格+單價+數(shù)量+購置日期+生產(chǎn)廠家+保質(zhì)期+經(jīng)辦人等報廢記錄表輸入:報廢,統(tǒng)計查詢,生產(chǎn)報表輸出:統(tǒng)計查詢,生產(chǎn)報表數(shù)據(jù)結構:類別+設備名+型號等申請表輸入:統(tǒng)計查詢,生產(chǎn)報表輸出:統(tǒng)計查詢,

10、生產(chǎn)報表,購買數(shù)據(jù)結構:類別+設備名+型號+規(guī)格+數(shù)量4數(shù)據(jù)加工處理的描述登陸用例簡要說明:本用例說明用戶如何登錄到系統(tǒng)。角色:管理員、實驗員、學生前置條件:啟動程序,進入登錄界面基本事件流:1.用戶輸入基本信息(登錄名和密碼),點擊確定按鈕2.系統(tǒng)查找數(shù)據(jù)庫,看該用戶是否在數(shù)據(jù)庫中。若存在則進入主頁面。備選事件流:1.輸入無效的用戶名或密碼,提示用戶名或密碼不能為空或者提示用戶名或密碼不正確。后置條件:登錄成功特殊需求:沒有和本用例有關的特殊需求。擴展點:沒有和本用例有關的擴展點。購買設備用例簡要說明:本用例說明管理員如何購買設備并記錄進入系統(tǒng)。角色:管理員前置條件:已經(jīng)成功登陸到系統(tǒng)?;?/p>

11、事件流:1.管理員填寫設備各種信息,確定添加。2.系統(tǒng)把對應信息寫入數(shù)據(jù)庫,更新數(shù)據(jù)庫。備選事件流:輸入了已存在的設備編號,系統(tǒng)提示編號中已存在。后置條件:購買成功。特殊需求:沒有和本用例有關的特殊需求。擴展點:沒有和本用例有關的擴展點。報廢設備用例簡要說明:本用例說明管理員如何從入系統(tǒng)中刪除報廢的設備記錄。角色:管理員前置條件:已經(jīng)成功登陸到系統(tǒng)?;臼录鳎?.管理員根據(jù)設備編號,找到需要刪除的設備記錄,確定刪除。2.系統(tǒng)把從數(shù)據(jù)庫中刪除對應信息,更新數(shù)據(jù)庫。備選事件流:輸入了不存在的設備編號,系統(tǒng)提示未找到記錄。后置條件:刪除成功。特殊需求:沒有和本用例有關的特殊需求。擴展點:沒有和本用

12、例有關的擴展點。設備查詢用例簡要說明:本用例說明管理員如何查詢系統(tǒng)中已記錄的實驗設備。角色:管理員前置條件:已經(jīng)成功登陸到系統(tǒng)。基本事件流:1.管理員選擇設備查詢功能,根據(jù)名稱、編號、添加時間等方式,填寫信息并查詢。2.系統(tǒng)查找數(shù)據(jù)庫,找到符合條件的信息。3.返回找到的信息。備選事件流:輸入不存在的設備信息,系統(tǒng)提示未找到該設備信息。后置條件:查詢成功。特殊需求:沒有和本用例有關的特殊需求。擴展點:沒有和本用例有關的擴展點。5性能需求5.1數(shù)據(jù)精確度該軟件計算設備時以“臺”、“件”等為實物計件單位,報表輸出中的金額保證到0.01的精度。5.2時間特性查詢在3秒內(nèi)完成,表項輸出在8秒內(nèi)完成5.3

13、適應性考慮到工作人員有時候辦公地點的移動性,在設計時應該注意軟件的適應性,對于查詢功能應盡可能獨立方便地將其移植到筆記本、掌上電腦等硬件平臺6運行需求6.1用戶界面采用Windows的通用圖形界,對用戶友好,且必須對鼠標和鍵盤提供支持。6.2硬件接口支持一般x86系列微機和Windows CE,即一般的PC機。四、系統(tǒng)設計1狀態(tài)圖2輸出設計輸入:a. 輸入數(shù)據(jù)數(shù)字信息符合輸入精度要求b. 輸入可選信息完全使用下拉框完成輸出:a. 輸出數(shù)據(jù)符合輸出精度要求輸出數(shù)據(jù)格式字體大小統(tǒng)一3數(shù)據(jù)庫結構設計(1) 實體表【1】 用戶表(UserInfo)字段類型備注uIdVarchar(15)用戶

14、名,主鍵uNameVarchar(15)uPasswdVarchar(15)密碼uPositionVarchar(15)身份,主鍵【2實驗室管理員表(StoreManagerInfo)字段類型備注uIdVarchar(15)用戶名,主鍵lIdVarchar(15)倉庫編號,外鍵約束于實驗室表【3實驗室表(LabInfo)字段類型備注lIdVarchar(15)實驗室編號,主鍵lNameVarchar(15)實驗室名稱lPlaceVarchar(15)所在校區(qū)【4設備表(EquipInfo)字段類型備注eIdVarchar(15)設備編號,主鍵eNameVarchar(15)設備名稱eStand

15、ardVarchar(15)規(guī)格型號eProCompanyVarchar(15)生產(chǎn)廠商eTypeVarchar(15)設備類型 (2) 關系表【1】 入庫登記表(InInfo)字段類型備注eIdVarchar(15)設備編號,主鍵,外鍵約束于設備表sIdVarchar(15)倉庫編號,主鍵,外鍵約束于倉庫表iDateDateTime入庫時間,主鍵iNumint入庫數(shù)量 (3) 記錄表【1】購買申請表(BuyApplyInfo)字段類型備注baIdVarchar(15)序列號,主鍵eIdVarchar(15)設備編號,外鍵約束于設備表smNameVarchar(15)申請人,外鍵約束于倉庫管理

16、員表baDateDateTime申請時間baNumInt申請數(shù)量【2】維修申請表(MaintainInfo)字段類型備注maIdVarchar(15)序列號,主鍵pIdVarchar(15)固定資產(chǎn)編號,外鍵約束于固定資產(chǎn)表lmNameVarchar(15)申請人,外鍵約束于實驗室管理員表maDateDateTime申請時間【3】購買登記表(BuyInfo)字段類型備注bIdVarchar(15)序列號,主鍵eIdVarchar(15)設備編號,外鍵約束于設備表bPriceMoney購買單價bDateDateTime購買時間bNumInt購買數(shù)量【4】維修記錄表(MaintainInfo)字段

17、類型備注mIdVarchar(15)序列號,主鍵pIdVarchar(15)固定資產(chǎn)編號,外鍵約束于固定資產(chǎn)表mDateDateTime維修時間【5】報廢記錄表(DiscardInfo)字段類型備注dIdVarchar(15)序列號,主鍵pIdVarchar(15)固定資產(chǎn)編號,外鍵約束于固定資產(chǎn)表dDateDateTime報廢時間【6】購買審核表(BuyCheckInfo)字段類型備注bcIdVarchar(15)序列號,主鍵baIdVarchar(15)申請序列號,外鍵約束于購買申請表olNameVarchar(15)審核人,外鍵約束于上級領導表bcDateDateTime審核時間【7】維

18、修審核表(MaintainCheckInfo)字段類型備注mcIdVarchar(15)序列號,主鍵maIdVarchar(15)申請序列號,外鍵約束于維修申請表olNameVarchar(15)審核人,外鍵約束于上級領導表mcDateDateTime審核時間4模塊詳細設計設備管理員操作模塊設備管理員五、課程設計總結六、代碼1、用戶登錄界面:package .niit.gui_event;import .niit.logical.*;import java.awt.*;import java.awt.event.*;import javax.swing.*;publicclass Login

19、extends JFrame /* * */privatestaticfinallongserialVersionUID = 1L;/ 控件聲明private JLabel lPosition, lName, lPasswd, lTitle;privateJComboBoxcbPosition, cbName;private JPasswordField pfPasswd;private JButton bConfirm, bCancel;private Container con;private JPanel pCon;private User info;public Login() sup

20、er("用戶登錄");/ 控件初始化con = getContentPane();lPosition = new JLabel("身 份:");lName = new JLabel("用戶名:");lPasswd = new JLabel("密 碼:");lTitle = new JLabel("實驗室設備管理系統(tǒng)");lTitle.setForeground(Color.RED);pfPasswd = new JPasswordField();bConfirm = new JButton(&q

21、uot;確定");bCancel = new JButton("取消");String aPosition = new String "系統(tǒng)管理員", "倉庫管理員", "實驗室管理員","購買登記員", "上級領導" ;cbPosition = new JComboBox(aPosition);int index = cbPosition.getSelectedIndex();if (index = 0) info = new Administration();

22、elseif (index = 1) info = new StoreManager(); elseif (index = 2) info = new LabManager(); elseif (index = 3) info = new BuyManager(); else info = new OverLeader();/ 數(shù)組初始化pCon = new JPanel5;String cName = info.getIdByPosition(info);cbName = new JComboBox(cName);for (int i = 0; i < pCon.length; i+)

23、pConi = new JPanel();publicvoid launch() / 控件添加con.setLayout(new GridLayout(5, 1);pCon0.add(lPosition);pCon0.add(cbPosition);pCon1.add(lName);pCon1.add(cbName);pCon2.add(lPasswd);pCon2.add(pfPasswd);pCon3.add(bConfirm);pCon3.add(bCancel);pCon4.add(lTitle);add(pCon4);for (int i = 0; i < pCon.lengt

24、h - 1; i+)con.add(pConi);/ 控件設置pfPasswd.setEchoChar('*');pfPasswd.setColumns(10);setBounds(400, 100, 400, 400);setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/ 添加監(jiān)聽器cbPosition.addActionListener(new ListenAction();bConfirm.addActionListener(new ListenAction();bCancel.addActio

25、nListener(new ListenAction();pfPasswd.addKeyListener(new ListenKey();/ 定義按鈕,下拉框處理器class ListenAction implements ActionListener publicvoid actionPerformed(ActionEvent e) if (e.getSource() =bConfirm) /點擊確定按鈕info.setuId(cbName.getSelectedItem().toString();info.setuPasswd(new String(pfPasswd.getPassword

26、();info.setuPosition(cbPosition.getSelectedItem().toString();if (info.login(info) new Main(info).launch();setVisible(false);pfPasswd.setText(null); else JOptionPane.showMessageDialog(new Login(), "用戶名,密碼或身份錯誤");pfPasswd.setText(null); elseif (e.getSource() = cbPosition) /身份下拉框改變時int index

27、= cbPosition.getSelectedIndex();if (index = 0) info = new Administration(); elseif (index = 1) info = new StoreManager(); elseif (index = 2) info = new LabManager(); elseif (index = 3) info = new BuyManager(); else info = new OverLeader();String cName = info.getIdByPosition(info);/刷新用戶名列表cbName.remo

28、veAllItems();for (int i = 0; i < cName.length; i+)cbName.addItem(cNamei); else System.exit(0);pfPasswd.setText(null);/定義鍵盤處理器class ListenKey extends KeyAdapter SuppressWarnings("static-access")publicvoid keyPressed(KeyEvent e) if (e.getKeyText(e.getKeyCode().compareToIgnoreCase("EN

29、TER") = 0) bConfirm.doClick();2、主界面:package .niit.gui_event;import javax.swing.*;import .niit.logical.*;import java.awt.event.*;publicclass Main extends JFrame /* * */privatestaticfinallongserialVersionUID = 1L;private JTabbedPane tp;private JPanel p;private User info;public Main() super("

30、實驗室設備管理系統(tǒng)");tp = new JTabbedPane();p = new JPanel8;public Main(User info)this();=info;p0 = new UserManage();p1 = new EquipIn();p2 = new EquipOut();p3 = new Register(info);p4 = new Apply(info);p5 = new Checks(info);p6= new Search();p7=new PasswdModyfy(info);publicvoid launch() tp.addTab

31、("用戶管理", p0);tp.addTab("設備入庫", p1);tp.addTab("設備出庫", p2);tp.addTab("設備登記", p3);tp.addTab("設備申請", p4);tp.addTab("審核申請", p5);tp.addTab("統(tǒng)計查詢", p6);tp.addTab("個人信息維護", p7);if(infoinstanceof Administration)tp.setEnabledAt(1,

32、 false);tp.setEnabledAt(2, false);tp.setEnabledAt(3, false);tp.setEnabledAt(4, false);tp.setEnabledAt(5, false);tp.setEnabledAt(6, false);elseif(infoinstanceof StoreManager)tp.setEnabledAt(0, false);tp.setEnabledAt(3, false);tp.setEnabledAt(5, false);tp.setSelectedIndex(1);elseif(infoinstanceof LabM

33、anager)tp.setEnabledAt(0, false);tp.setEnabledAt(1, false);tp.setEnabledAt(2, false);tp.setEnabledAt(5, false);tp.setSelectedIndex(3);elseif(infoinstanceof BuyManager)tp.setEnabledAt(0, false);tp.setEnabledAt(1, false);tp.setEnabledAt(2, false);tp.setEnabledAt(4, false);tp.setEnabledAt(5, false);tp.

34、setSelectedIndex(3);elseif(infoinstanceof OverLeader)tp.setEnabledAt(0, false);tp.setEnabledAt(1, false);tp.setEnabledAt(2, false);tp.setEnabledAt(3, false);tp.setEnabledAt(4, false);tp.setSelectedIndex(5);getContentPane().add(tp);setSize(1280, 780);setVisible(true);addWindowListener(new WindowAdapt

35、er()publicvoid windowClosing(WindowEvent e)System.exit(0););3、購買設備:package .niit.gui_event;import javax.swing.*;import .niit.logical.*;import java.awt.*;import java.awt.event.*;import.niit.data.*;import java.sql.*;publicclass MaintainApply extends JPanel /* * */privatestaticfinallongserialVersionUID

36、 = 1L;private JLabel lpId;private JTextField tf;private JButton bApply, bAgain, bDelete;private JPanel pUp, pDown;private JTable t;private JScrollPane jsp;private User user;private LabManager lm;private MaintainApplyData maInfo;public MaintainApply(User user) super(new BorderLayout();this.user = use

37、r;lpId = new JLabel("固定資產(chǎn)編號");tf = new JTextField();tf.setColumns(15);bApply = new JButton("申請");bAgain = new JButton("重置");bDelete = new JButton("取消申請");pUp = new JPanel();pDown = new JPanel();lm = new LabManager();maInfo = new MaintainApplyData();String head

38、 = new String "序列號", "固定資產(chǎn)編號", "申請人", "申請時間" ;Object data = lm.getMaintainApplyAll();t = new JTable(data, head);t.setRowHeight(25);jsp = new JScrollPane(t);pUp.add(lpId);pUp.add(tf);pUp.add(bApply);pUp.add(bAgain);pDown.add(bDelete);add(pUp, BorderLayout.NORTH

39、);add(jsp, BorderLayout.CENTER);add(pDown, BorderLayout.SOUTH);/ 添加監(jiān)聽器bApply.addActionListener(new ListenButton();bAgain.addActionListener(new ListenButton();bDelete.addActionListener(new ListenButton();/ 處理器class ListenButton implements ActionListener publicvoid actionPerformed(ActionEvent e) if (e

40、.getSource() = bApply) / 申請按鈕maInfo.setpId(newInteger(tf.getText();maInfo.setuId(user.getuId();maInfo.setDate(new Date(System.currentTimeMillis();lm.add(maInfo);bAgain.doClick(); elseif (e.getSource() = bAgain) / 重置按鈕tf.setText(null); elseif (e.getSource() = bDelete) / 刪除按鈕int selectedIndex = -1;for

41、 (int i = 0; i < t.getRowCount(); i+) if (t.isRowSelected(i) = true)selectedIndex = i;if (selectedIndex = -1) JOptionPane.showMessageDialog(null, "請先選擇某一項!");return; else int option = JOptionPane.showConfirmDialog(null, "是否確定刪除.","提示", JOptionPane.YES_NO_CANCEL_OPTIO

42、N);if (option = JOptionPane.YES_OPTION) maInfo.setId(newInteger(t.getValueAt(selectedIndex, 0).toString();lm.delete(maInfo);/ 刷新數(shù)據(jù)表remove(jsp);String head = new String "序列號", "固定資產(chǎn)編號", "申請人", "申請時間" ;Object data = lm.getMaintainApplyAll();t = new JTable(data,

43、head);t.setRowHeight(25);t.validate();jsp = new JScrollPane(t);add(jsp, BorderLayout.CENTER);validate();4、維修設備:package .niit.gui_event;import java.awt.BorderLayout;import java.awt.Cursor;import javax.swing.*;import java.awt.*;import .niit.logical.*;import java.awt.event.*;import java.sql.Date;import

44、 .niit.data.*;publicclass EquipIn extends JPanel /* * */privatestaticfinallongserialVersionUID = 1L;private JLabel leId, lsId, liNum, lPara;private JTextField tfiNum;privateJComboBoxcbeId, cbsId;private JButton bIn, bAgain, bDelete;private JPanel pUp, pDown;private JScrollPane jsp;private JTable t;p

45、rivate StoreManager sma;private InData inInfo;public EquipIn() super(new BorderLayout();/ 設置布局管理器/ 控件初始化leId = new JLabel("設備編號");lsId = new JLabel("倉庫編號");liNum = new JLabel("入庫數(shù)量");lPara = new JLabel("參數(shù)設置");lPara.setForeground(Color.RED);tfiNum = new JTextF

46、ield();tfiNum.setColumns(10);bIn = new JButton("入庫");bAgain = new JButton("重置");bDelete = new JButton("刪除");pUp = new JPanel();pDown = new JPanel();sma = new StoreManager();inInfo = new InData();String eId = sma.geteId();String sId = sma.getsIdAll();cbeId = new JComboBo

47、x(eId);cbsId = new JComboBox(sId);String head = new String "設備編號", "倉庫編號", "入庫時間", "入庫數(shù)量" ;Object data = sma.getInAll();t = new JTable(data, head);t.setRowHeight(25);jsp = new JScrollPane(t);/ 添加控件pUp.add(leId);pUp.add(cbeId);pUp.add(lsId);pUp.add(cbsId);pUp.a

48、dd(liNum);pUp.add(tfiNum);pUp.add(bIn);pUp.add(bAgain);pUp.add(lPara);pDown.add(bDelete);add(pUp, BorderLayout.NORTH);add(jsp, BorderLayout.CENTER);add(pDown, BorderLayout.SOUTH);/ 添加監(jiān)聽器bIn.addActionListener(new ListenButton();bAgain.addActionListener(new ListenButton();bDelete.addActionListener(new

49、 ListenButton();lPara.addMouseListener(new ListenMouse();/ 定義按鈕處理器class ListenButton implements ActionListener publicvoid actionPerformed(ActionEvent e) if (e.getSource() = bIn) / 點擊入庫按鈕inInfo.seteId(cbeId.getSelectedItem().toString();inInfo.setsId(cbsId.getSelectedItem().toString();inInfo.setDate(n

50、ew Date(System.currentTimeMillis();inInfo.setNum(new Integer(tfiNum.getText();sma.add(inInfo);bAgain.doClick(); elseif (e.getSource() = bAgain) / 點擊重置按鈕tfiNum.setText(null); elseif (e.getSource() = bDelete) / 點擊刪除按鈕int selectedIndex = -1;for(int i = 0; i < t.getRowCount(); i+) if (t.isRowSelected

51、(i) = true)selectedIndex = i;if (selectedIndex = -1) JOptionPane.showMessageDialog(null, "請先選擇某一項!");return; else int option = JOptionPane.showConfirmDialog(null, "是否確定刪除.","提示", JOptionPane.YES_NO_CANCEL_OPTION);if (option = JOptionPane.YES_OPTION) inInfo.seteId(String

52、) t.getValueAt(selectedIndex, 0);inInfo.setsId(String) t.getValueAt(selectedIndex, 1);inInfo.setDate(Date) t.getValueAt(selectedIndex, 2);sma.delete(inInfo);/ 刷新數(shù)據(jù)表remove(jsp);String head = new String "設備編號", "倉庫編號", "入庫時間", "入庫數(shù)量" ;Object data = sma.getInAll();t = new JTable(data, head);t.setRowHeight(25);t.validate();jsp = new JScrollPane(t);add(jsp, BorderLayout.CENTER);validate();/ 定義鼠標處理器class ListenMouse extends MouseAdapter publicvoid mouseEntered(MouseEvent e) lPara.setCursor(new Cursor(Cursor.HAND_CURSOR);publicvoid mousePressed(MouseEvent

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論