java課程設(shè)計(jì)報(bào)告-mini人事管理系統(tǒng).doc
《java課程設(shè)計(jì)報(bào)告-mini人事管理系統(tǒng).doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《java課程設(shè)計(jì)報(bào)告-mini人事管理系統(tǒng).doc(28頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
JAVA程序設(shè)計(jì) 課程設(shè)計(jì)報(bào)告 課 題: mini人事管理系統(tǒng) 姓 名: 學(xué) 號(hào): 同組姓名: 專(zhuān)業(yè)班級(jí): 指導(dǎo)教師: 設(shè)計(jì)時(shí)間: 評(píng)閱意見(jiàn): 評(píng)定成績(jī): 指導(dǎo)老師簽名: 年 月 日 目 錄 一 、系統(tǒng)描述............................................ 1 1. 前言............................................... 1 2. 開(kāi)發(fā)系統(tǒng)的功能介紹................................. 1 二 、分析與設(shè)計(jì).......................................... 2 1. 功能模塊劃分....................................... 2 2. 數(shù)據(jù)庫(kù)結(jié)構(gòu)描述..................................... 2 3. 各個(gè)模塊實(shí)現(xiàn)方法描述............................... 3 4. 測(cè)試數(shù)據(jù)及期望結(jié)果................................. 5 三 、源代碼.............................................. 5 1. 主頁(yè)面設(shè)計(jì)......................................... 5 2. 記錄添加界面的開(kāi)發(fā)設(shè)計(jì)............................. 12 3. 上班登記子系統(tǒng)開(kāi)發(fā)設(shè)計(jì)............................. 14 4. 下班登記子系統(tǒng)開(kāi)發(fā)設(shè)計(jì)............................. 16 5. 信息統(tǒng)計(jì)頁(yè)面的設(shè)計(jì)開(kāi)發(fā)............................. 18 四 、系統(tǒng)測(cè)試............................................ 22 五、總結(jié)................................................. 25 1. 實(shí)驗(yàn)心得........................................... 25 2. 參考文獻(xiàn)........................................... 26 一 、系統(tǒng)描述 1.前言 隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí),它已進(jìn)入人類(lèi)社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來(lái)越重要的作用。作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對(duì)人事信息進(jìn)行管理,具有著手工管理所無(wú)法比擬的優(yōu)點(diǎn).例如:檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能夠極大地提高人事理的效率,也是企業(yè)的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。因此,開(kāi)發(fā)這樣一套管理軟件成為很有必要的事情。 目前,無(wú)論是機(jī)關(guān)、事業(yè)單位、還是企業(yè)單位,人事管理對(duì)于組織生存與長(zhǎng)遠(yuǎn)發(fā)展所具備的重要性都已經(jīng)有了明確的認(rèn)識(shí),而人事管理水平的提升不僅需要高素質(zhì)的管理人員,而且也需要信息化工具進(jìn)行輔助 在現(xiàn)代化的企業(yè)管理中,人事管理系統(tǒng)有著十分重要的作用,然而,用大型軟件系統(tǒng)來(lái)于小型的企事業(yè)單位,不啻于“殺雞用牛刀”,因此小型的的軟件對(duì)于這種單位自然有十分重要作用。 2、開(kāi)發(fā)系統(tǒng)的功能介紹 (1)上班登記子系統(tǒng) 上班登記子系統(tǒng)主要對(duì)所有員工的上班信息進(jìn)行登記,包括員工的工號(hào)、員工的姓名、員工的上班時(shí)間和相應(yīng)的備注信息,并且還要能夠刪除錯(cuò)誤的員工上班時(shí)間信息的記錄 (2) 下班登記子系統(tǒng) 下班登記子系統(tǒng)主要對(duì)所有員工的下班信息進(jìn)行登記,包括員工的工號(hào)、員工的姓名、員工的下班時(shí)間和相應(yīng)的備注信息,并且還要能夠刪除錯(cuò)誤的員工下班時(shí)間信息的記錄。 (3)請(qǐng)假登記子系統(tǒng) 請(qǐng)假登記子系統(tǒng)主要對(duì)所有員工的請(qǐng)假信息進(jìn)行登記,包括員工的工號(hào)、員工的姓名、員工的請(qǐng)假時(shí)間和相應(yīng)的備注信息,并且還要能夠刪除錯(cuò)誤的員工請(qǐng)假時(shí)間信息的記錄。 (4)信息統(tǒng)計(jì)子系統(tǒng) 信息統(tǒng)計(jì)系統(tǒng)主要對(duì)所有員工的上班時(shí)間信息、下班時(shí)間信息、請(qǐng)假時(shí)間信息進(jìn)行統(tǒng)計(jì),包括員工的工號(hào)、員工的姓名、員工的上班時(shí)間、員工的下班時(shí)間、員工的請(qǐng)假時(shí)間和相應(yīng)的備注信息,并且還可以刪除錯(cuò)誤的員工時(shí)間信息的記錄。 (5)記錄添加子系統(tǒng) 記錄添加子系統(tǒng)的主要作用是在數(shù)據(jù)庫(kù)中添加員工工號(hào)、員工姓名、相應(yīng)的時(shí)間和備注。 二、分析與設(shè)計(jì) 本組共有三人一起完成本次的課程設(shè)計(jì)任務(wù),組長(zhǎng)是李海霞,組員有李丹和周露,組內(nèi)分工為:李丹負(fù)責(zé)上班系統(tǒng)的開(kāi)發(fā),周露負(fù)責(zé)下班系統(tǒng)的開(kāi)發(fā),李海霞負(fù)責(zé)請(qǐng)假系統(tǒng)的開(kāi)發(fā)以及統(tǒng)計(jì)信息系統(tǒng)的開(kāi)發(fā),然后再將每人完成的開(kāi)發(fā)系統(tǒng)總結(jié)到一塊。大家一起研究錯(cuò)誤出在哪里,該怎么改正這些錯(cuò)誤。 1.功能模塊劃分 本系統(tǒng)分為如下的幾大模塊: Mini人事管理系統(tǒng) 退出系統(tǒng) 信息統(tǒng)計(jì) 子系統(tǒng) 請(qǐng)假登記 子系統(tǒng) 下班登記 子系統(tǒng) 上班登記 子系統(tǒng) 2.數(shù)據(jù)庫(kù)結(jié)構(gòu)描述 在這個(gè)MINI開(kāi)發(fā)系統(tǒng)中,選用mysql作為系統(tǒng)服務(wù)數(shù)據(jù)庫(kù),這是因?yàn)閙ysql功能強(qiáng)大,操作簡(jiǎn)便,應(yīng)用較廣。數(shù)據(jù)庫(kù)方面只做了一張表,根據(jù)功能不同,在每個(gè)子系統(tǒng)里面讀取的數(shù)據(jù)部分不同。設(shè)計(jì)的表如表一: 表一 列名 數(shù)據(jù)類(lèi)型 可否允空 長(zhǎng)度 工號(hào) 數(shù)值型 否 50 姓名 字符型 否 50 上班時(shí)間 日期型 否 30 下班時(shí)間 日期型 否 30 請(qǐng)假時(shí)間 日期型 是 30 備注 字符型 是 50 3.各個(gè)模塊實(shí)現(xiàn)方法描述 1) 上班登記模塊描述(負(fù)責(zé)人:李丹) 上班登記子系統(tǒng)主要包括一個(gè)上班信息統(tǒng)計(jì)界面和一個(gè)上班信息添加界面。上班信息統(tǒng)計(jì)界面是一個(gè)表格,每一行就是一個(gè)員工的相關(guān)信息。如果某條記錄不符合要求,可以將此條記錄刪除。 上班信息添加界面主要是員工工號(hào)、員工姓名、相應(yīng)時(shí)間和相關(guān)備注信息??梢愿鶕?jù)信息添加界面上的系統(tǒng)時(shí)間指示來(lái)填入相應(yīng)的時(shí)間。 其流程圖為: 添加記錄 上班登記系統(tǒng) 選擇 刪除記錄 刷新界面 退出 結(jié)束 2) 下班登記模塊描述(負(fù)責(zé)人:周露) 下班登記子系統(tǒng)主要對(duì)所有員工的下班信息進(jìn)行登記,包括員工的工號(hào)、員工的姓名、員工的下班時(shí)間和相應(yīng)的備注信息,并且還要能夠刪除錯(cuò)誤的員工下班時(shí)間信息的記錄。下班信息添加界面主要是員工工號(hào)、員工姓名、相應(yīng)時(shí)間和相關(guān)備注信息??梢愿鶕?jù)信息添加界面上的系統(tǒng)時(shí)間指示填入相應(yīng)的時(shí)間。 其流程圖為: 添加記錄 下班登記系統(tǒng) 選擇 刪除記錄 刷新界面 退出 結(jié)束 3) 請(qǐng)假登記模塊描述(負(fù)責(zé)人:李海霞) 請(qǐng)假登記子系統(tǒng)主要對(duì)所有員工的請(qǐng)假信息進(jìn)行登記,包括員工的工號(hào)、員工的姓名、員工的請(qǐng)假時(shí)間和相應(yīng)的備注信息,并且還要能夠刪除錯(cuò)誤的員工請(qǐng)假時(shí)間信息的記錄。 在這個(gè)下班信息添加界面中,主要是讀取員工的ID、員工的姓名、員工的請(qǐng)假時(shí)間以及相關(guān)的描述信息,并將這些信息寫(xiě)入到數(shù)據(jù)庫(kù)中。 其流程圖為: 添加記錄 請(qǐng)假登記系統(tǒng) 選擇 刪除記錄 刷新界面 退出 結(jié)束 4) 信息統(tǒng)計(jì)模塊描述(負(fù)責(zé)人:李海霞) 信息統(tǒng)計(jì)系統(tǒng)主要對(duì)所有員工的上班時(shí)間信息、下班時(shí)間信息、請(qǐng)假時(shí)間信息進(jìn)行統(tǒng)計(jì),包括員工的工號(hào)、員工的姓名、員工的上班時(shí)間、員工的下班時(shí)間、員工的請(qǐng)假時(shí)間和相應(yīng)的備注信息,并且還可以刪除錯(cuò)誤的員工時(shí)間信息的記錄。 信息統(tǒng)計(jì)子系統(tǒng)主要是一個(gè)信息統(tǒng)計(jì)界面。信息統(tǒng)計(jì)界面是一個(gè)表格,每一行就是一個(gè)員工的相關(guān)信息。如果覺(jué)得某些記錄不符合要求,還可以將此條記錄刪除。在此界面,可以看到所有員工的上下班時(shí)間及其請(qǐng)假時(shí)間。 4.測(cè)試數(shù)據(jù)及期望結(jié)果 這個(gè)階段的工作主要是實(shí)際運(yùn)行人事管理系統(tǒng)應(yīng)用程序,進(jìn)入人事管理系統(tǒng)登錄界面, 在前一階段,雖然也作了性能預(yù)測(cè),但是僅僅做了性能估計(jì),且在估計(jì)過(guò)程中,做了許多簡(jiǎn)化和假設(shè),忽略了許多次要因素,因而估計(jì)是粗糙的,并可能失真。在試運(yùn)行階段,必須進(jìn)行實(shí)際測(cè)量和評(píng)價(jià),測(cè)試數(shù)據(jù)盡可能覆蓋現(xiàn)實(shí)世界的各種情況。 如果實(shí)際測(cè)試結(jié)果不符合設(shè)計(jì)目標(biāo),則需返回物理設(shè)計(jì)階段,修改參數(shù)。有時(shí)也許還需要返回初始階段。 期望結(jié)果:比方說(shuō),員工A3:00來(lái)上班,點(diǎn)擊上班登記,手動(dòng)添加上班記錄。下班亦然。在統(tǒng)計(jì)模塊中可以自動(dòng)統(tǒng)計(jì)并顯示出每個(gè)員工每天上下班,請(qǐng)假的全部記錄。 三、源代碼 1.主頁(yè)面的設(shè)計(jì)開(kāi)發(fā) package manpowersystem; import javax.swing.*; import java.awt.event.*; import java.awt.*; import com.borland.jbcl.layout.*; import javax.swing.event.*; public class MainFrame extends JFrame { private ImageIcon fmImage; //主框架面板代碼文件聲明的屬性和變量 XYLayout xYLayout1 = new XYLayout(); JButton jTitleButton = new JButton(); JButton jOnWorkButton = new JButton(); JButton jOffWorkButton = new JButton(); JButton jLeaveWorkButton = new JButton(); JButton jStaticButton = new JButton(); JButton jExitButton = new JButton(); public MainFrame() { try { jbInit(); addWindowListener( new WindowAdapter() { //窗口事件監(jiān)聽(tīng) public void windowClosing( WindowEvent e ) { dispose(); //銷(xiāo)毀窗口 }} );} catch ( Exception e ) { e.printStackTrace();}} public static void main( String[] args ) { MainFrame mainFrame = new MainFrame(); mainFrame.validate(); mainFrame.setLocation( 200, 150 ); mainFrame.setSize( 600, 480 ); mainFrame.setVisible( true ); mainFrame.pack();} private void jbInit() throws Exception { fmImage=new ImageIcon ( manpowersystem.MainFrame.class.getResource("Fengmian.png" ) ); jTitleButton.setBackground( new Color( 210, 138, 177 ) ); jTitleButton.setIcon( fmImage ); jTitleButton.setFocusable( false ); //此按鈕的聚焦作用失效 xYLayout1.setWidth( 540 ); xYLayout1.setHeight( 407 ); this.getContentPane().setBackground( new Color( 210, 138, 177 ) ); this.setLocale( java.util.Locale.getDefault() ); this.setResizable( true ); this.setTitle( "Mini人事管理系統(tǒng)" ); this.addWindowListener(new MainFrame_this_windowAdapter( this ) ); this.getContentPane().setLayout( xYLayout1 ); jOnWorkButton.setBackground( new Color( 212, 158, 217 ) ); jOnWorkButton.setFont( new java.awt.Font( "DialogInput", 1, 16 ) ); jOnWorkButton.setText( "上班登記" ); jOnWorkButton.addActionListener(new MainFrame_jOnWorkButton_actionAdapter( this ) ); jOnWorkButton.addHierarchyBoundsListener( new MainFrame_jOnWorkButton_hierarchyBoundsAdapter( this ) ); jOffWorkButton.setBackground( new Color( 212, 158, 217 ) ); jOffWorkButton.setFont( new java.awt.Font( "DialogInput", 1, 16 ) ); jOffWorkButton.setText( "下班登記" ); jOffWorkButton.addActionListener(new MainFrame_jOffWorkButton_actionAdapter(this)); jOffWorkButton.addAncestorListener( new MainFrame_jOffWorkButton_ancestorAdapter( this ) ); jLeaveWorkButton.setBackground( new Color( 212, 158, 217 ) ); jLeaveWorkButton.setFont( new java.awt.Font( "DialogInput", 1, 16 ) ); jLeaveWorkButton.setText( "請(qǐng)假登記" ); jLeaveWorkButton.addActionListener(new MainFrame_jLeaveWorkButton_actionAdapter(this)); jLeaveWorkButton.addAncestorListener( new MainFrame_jLeaveWorkButton_ancestorAdapter( this ) ); jStaticButton.setBackground( new Color( 212, 158, 217 ) ); jStaticButton.setFont( new java.awt.Font( "DialogInput", 1, 16 ) ); jStaticButton.setText( "統(tǒng)計(jì)情況" ); jStaticButton.addActionListener(new MainFrame_jStaticButton_actionAdapter(this)); jStaticButton.addAncestorListener( new MainFrame_jStaticButton_ancestorAdapter( this ) ); jExitButton.setBackground( new Color( 212, 158, 217 ) ); jExitButton.setFont( new java.awt.Font( "DialogInput", 1, 16 ) ); jExitButton.setText( "退出系統(tǒng)" ); jExitButton.addActionListener(new MainFrame_jExitButton_actionAdapter( this ) ); jExitButton.addAncestorListener(new MainFrame_jExitButton_ancestorAdapter( this ) ); this.getContentPane().add( jTitleButton,new XYConstraints( 0, 0, 358, 409 ) ); this.getContentPane().add( jOnWorkButton,new XYConstraints( 393, 35, 115, 45 ) ); this.getContentPane().add( jOffWorkButton, new XYConstraints( 393, 109, 115, 45 ) ); this.getContentPane().add( jLeaveWorkButton, new XYConstraints( 393, 184, 115, 45 ) ); this.getContentPane().add( jStaticButton, new XYConstraints( 393, 258, 115, 45 ) ); this.getContentPane().add( jExitButton, new XYConstraints( 393, 332, 115, 45 ) );this.setResizable(false);} void this_windowClosed( WindowEvent e ) { System.exit( 0 );} void jOnWorkButton_ancestorMoved( HierarchyEvent e ) {} void jOffWorkButton_ancestorMoved( AncestorEvent e ) {} void jLeaveWorkButton_ancestorMoved( AncestorEvent e ) {} void jStaticButton_ancestorMoved( AncestorEvent e ) {} void jExitButton_ancestorMoved( AncestorEvent e ) {} void jExitButton_actionPerformed( ActionEvent e ) {System.exit( 0 ); }//退出系統(tǒng)按鈕的事件處理 void jOnWorkButton_actionPerformed( ActionEvent e ) { OnWorkPanel onWorkPanel = new OnWorkPanel(); onWorkPanel.setVisible(true);}//上班登記按鈕的事件處理 void jOffWorkButton_actionPerformed(ActionEvent e) { OffWorkPanel offWorkPanel = new OffWorkPanel(); offWorkPanel.setVisible(true);}//下班登記按鈕的事件處理 void jLeaveWorkButton_actionPerformed(ActionEvent e) { LeaveWorkPanel leaveWorkPanel = new LeaveWorkPanel(); leaveWorkPanel.setVisible(true);}//請(qǐng)假登記按鈕的事件處理 void jStaticButton_actionPerformed(ActionEvent e) { StaticPanel staticPanel = new StaticPanel(); staticPanel.setVisible(true);}//統(tǒng)計(jì)情況按鈕的事件處理} Class MainFrame_this_windowAdapter extends java.awt.event.WindowAdapter { MainFrame adaptee; MainFrame_this_windowAdapter( MainFrame adaptee ) { this.adaptee = adaptee;} public void windowClosed( WindowEvent e ) { adaptee.this_windowClosed( e );}} class MainFrame_jOnWorkButton_hierarchyBoundsAdapter extends java.awt.event. HierarchyBoundsAdapter { MainFrame adaptee; MainFrame_jOnWorkButton_hierarchyBoundsAdapter( MainFrame adaptee ) { this.adaptee = adaptee;} public void ancestorMoved( HierarchyEvent e ) { adaptee.jOnWorkButton_ancestorMoved( e );}} class MainFrame_jOffWorkButton_ancestorAdapter implements javax.swing.event. AncestorListener { MainFrame adaptee; MainFrame_jOffWorkButton_ancestorAdapter( MainFrame adaptee ) { this.adaptee = adaptee;} public void ancestorAdded( AncestorEvent e ) {} public void ancestorRemoved( AncestorEvent e ) {} public void ancestorMoved( AncestorEvent e ) { adaptee.jOffWorkButton_ancestorMoved( e );}} class MainFrame_jLeaveWorkButton_ancestorAdapter implements javax.swing.event.AncestorListener {MainFrame adaptee; MainFrame_jLeaveWorkButton_ancestorAdapter( MainFrame adaptee ) { this.adaptee = adaptee;} public void ancestorAdded( AncestorEvent e ) {} public void ancestorRemoved( AncestorEvent e ) {} public void ancestorMoved( AncestorEvent e ) { adaptee.jLeaveWorkButton_ancestorMoved( e );}} class MainFrame_jStaticButton_ancestorAdapter implements javax.swing.event.AncestorListener { MainFrame adaptee; MainFrame_jStaticButton_ancestorAdapter( MainFrame adaptee ) { this.adaptee = adaptee;} public void ancestorAdded( AncestorEvent e ) {} public void ancestorRemoved( AncestorEvent e ) {} public void ancestorMoved( AncestorEvent e ) { adaptee.jStaticButton_ancestorMoved( e );}} class MainFrame_jExitButton_ancestorAdapter implements javax.swing.event.AncestorListener { MainFrame adaptee; MainFrame_jExitButton_ancestorAdapter( MainFrame adaptee ) { this.adaptee = adaptee;} public void ancestorAdded( AncestorEvent e ) {} public void ancestorRemoved( AncestorEvent e ) {} public void ancestorMoved( AncestorEvent e ) { adaptee.jExitButton_ancestorMoved( e );}} class MainFrame_jExitButton_actionAdapter implements java.awt.event.ActionListener { MainFrame adaptee; MainFrame_jExitButton_actionAdapter( MainFrame adaptee ) { this.adaptee = adaptee;} public void actionPerformed( ActionEvent e ) { adaptee.jExitButton_actionPerformed( e );}} class MainFrame_jOnWorkButton_actionAdapter implements java.awt.event.ActionListener { MainFrame adaptee; MainFrame_jOnWorkButton_actionAdapter( MainFrame adaptee ) { this.adaptee = adaptee;} public void actionPerformed( ActionEvent e ) { adaptee.jOnWorkButton_actionPerformed( e );}} class MainFrame_jOffWorkButton_actionAdapter implements java.awt.event.ActionListener { MainFrame adaptee; MainFrame_jOffWorkButton_actionAdapter(MainFrame adaptee) { this.adaptee = adaptee;} public void actionPerformed(ActionEvent e) { adaptee.jOffWorkButton_actionPerformed(e);}} class MainFrame_jLeaveWorkButton_actionAdapter implements java.awt.event.ActionListener {MainFrame adaptee; MainFrame_jLeaveWorkButton_actionAdapter(MainFrame adaptee) { this.adaptee = adaptee;} public void actionPerformed(ActionEvent e) { adaptee.jLeaveWorkButton_actionPerformed(e);}} class MainFrame_jStaticButton_actionAdapter implements java.awt.event.ActionListener {MainFrame adaptee; MainFrame_jStaticButton_actionAdapter(MainFrame adaptee) { this.adaptee = adaptee;} public void actionPerformed(ActionEvent e) { adaptee.jStaticButton_actionPerformed(e);}} 2.記錄添加界面的開(kāi)發(fā)設(shè)計(jì) package manpowersystem; import java.io.*; import java.util.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; import javax.swing.border.*; import javax.swing.table.*; public class RecordItem { private String strEmployeeID; private String strEmployeeName; private String strOnWorkTime; private String strOffWorkTime; private String strLeaveWorkTime; private String strDescribe; public RecordItem() { strEmployeeID = new String( "" ); strEmployeeName = new String( "" ); strOnWorkTime = new String( "" ); strOffWorkTime = new String( "" ); strLeaveWorkTime = new String( "" ); strDescribe = new String( "" );} public void SetOnworkItem( String strEmployeeID, String strEmployeeName, String strOnWorkTime, String strDescribe ) { this.strEmployeeID = strEmployeeID; this.strEmployeeName = strEmployeeName; this.strOnWorkTime = strOnWorkTime; this.strDescribe = strDescribe;} public void SetOffworkItem( String strEmployeeID, String strEmployeeName, String strOffWorkTime, String strDescribe ) { this.strEmployeeID = strEmployeeID; this.strEmployeeName = strEmployeeName; this.strOffWorkTime = strOffWorkTime; this.strDescribe = strDescribe;} public void SetLeaveworkItem( String strEmployeeID, String strEmployeeName, String strLeaveWorkTime, String strDescribe ) { this.strEmployeeID = strEmployeeID; this.strEmployeeName = strEmployeeName; this.strLeaveWorkTime = strLeaveWorkTime; this.strDescribe = strDescribe;} public String GetEmployeeID() { return strEmployeeID;} public String GetEmployeeName() { return strEmployeeName;} public String GetOnWorkTime() { return strOnWorkTime;} public String GetOffWorkTime() { return strOffWorkTime;} public String GetLeaveWorkTime() { return strLeaveWorkTime;} public String GetDescribe() { return strDescribe;} public void SetEmployeeID( String strEmployeeID ) { this.strEmployeeID = strEmployeeID;} public void SetEmployeeName( String strEmployeeName ) { this.strEmployeeName = strEmployeeName; } public void SetOnWorkTime( String strOnWorkTime ) { this.strOnWorkTime = strOnWorkTime;} public void SetOffWorkTime( String strOffWorkTime ) { this.strOffWorkTime = strOffWorkTime;} public void SetLeaveWorkTime( String strLeaveWorkTime ) { this.strLeaveWorkTime = strLeaveWorkTime;} public void SetDescribe( String strDescribe ) { this.strDescribe = strDescribe;}} 3.上班登記子系統(tǒng)開(kāi)發(fā)設(shè)計(jì) package manpowersystem; import java.io.*; import java.util.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; import javax.swing.border.*; import javax.swing.table.*; import java.util.*; import com.borland.jbcl.layout.*; public class OnWorkPanel extends TablePanel { String[] arrField = {"工 號(hào)", "姓 名", "上班時(shí)間", "備 注"}; public OnWorkPanel() { tableModel = new DefaultTableModel( arrData, arrField ); jRecordTable = new JTable( tableModel ); jTableScrollPane.getViewport().add( jRecordTable, null ); UpdateRecord(); //更新表格 this.setTitle( "上班登記頁(yè)面" );} public void AddRecord() { OnWorkRecordPane recordPane = new OnWorkRecordPane(); recordPane.setSize( 630, 300 ); recordPane.setLocation( 230, 100 ); recordPane.setVisible( true ); recordPane.setResizable( false ); recordPane.validate(); UpdateRecord(); //更新表格} public void DelRecord() { jTableScrollPane.getViewport().add( jRecordTable, null ); intRow = jRecordTable.getSelectedRow(); if ( intRow == -1 )return; try {database.DeleteData( tableModel.getValueAt( intRow, 0 ).toString() );} catch ( Exception e ) {e.printStackTrace();} UpdateRecord(); //更新表格} public void UpdateRecord() { Object[][] arrTmp = {}; //設(shè)定表格的字段 tableModel = new DefaultTableModel( arrTmp, arrField ); jRecordTable = new JTable( tableModel ); jTableScrollPane.getViewport().add( jRecordTable, null ); try {RecordItem[] result = new RecordItem[ 100 ]; for ( int j = 0; j < 100; j++ ) result[ j ] = new RecordItem(); result = database.AccessData(); for ( int i = 0; i < result.length; i++ ) { Object newdata[] = {result[ i ].GetEmployeeID(), result[ i ].GetEmployeeName(), result[ i ].GetOnWorkTime(), result[ i ].GetDescribe()}; String strTmp = result[ i ].GetOnWorkTime(); if ( strTmp.trim().length() == 0 ) continue; tableModel.addRow( newdata );}} catch ( Exception e ) { e.printStackTrace();}}} public class OnWorkRecordPane extends RecordPane { public OnWorkRecordPane() {} public void RestoreRecord() { String strTmp = jEmployeeIDTextField.getText(); if(strTmp.trim().length() == 0){ this.dispose();return;} item.SetOnworkItem( jEmployeeIDTextField.getText(), jEmployeeNameTextField.getText(), jDateTimeTextField.getText(), jReasonTextField.getText() );try { database.StoreData( item );} catch ( Exception e ) {e.printStackTrace();} this.dispose();}} 4.下班登記子系統(tǒng)開(kāi)發(fā)設(shè)計(jì) package manpowersystem; import java.io.*; import java.util.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; import javax.swing.border.*; import javax.swing.table.*; import java.util.*; import com.borland.jbcl.layout.*; public class OffWorkPanel extends TablePanel { String[] arrField = {"工 號(hào)", "姓 名", "下班時(shí)間", "備 注"}; public OffWorkPanel() { tableModel = new DefaultTableModel( arrData, arrField ); jRecordTable = new JTable( tableModel ); jTableScrollPane.getViewport().add( jRecordTable, null ); UpdateRecord(); //更新表格 this.setTitle( "下班登記頁(yè)面" );} public void AddRecord() { OffWorkRecordPane recordPane = new OffWorkRecordPane(); recordPane.setSize( 630, 300 ); recordPane.setLocation( 230, 100 ); recordPane.setVisible( true ); recordPane.setResizable( false ); UpdateRecord(); //更新表格} public void DelRecord() { jTableScrollPane.getViewport().add( jRecordTable, null ); intRow = jRecordTable.getSelectedRow(); if (intRow == -1)return; try {database.DeleteData( tableModel.getValueAt( intRow, 0 ).toString() );} catch ( Exception e ) { e.printStackTrace();} UpdateRecord(); //更新表格} public void UpdateRecord() { Object[][] arrTmp = {}; //設(shè)定表格的字段 tableModel = new DefaultTableModel( arrTmp, arrField ); RecordTable = new JTable( tableModel ); jTableScrollPane.getViewport().add( jRecordTable, null ); try { RecordItem[] result = new RecordItem[ 100 ]; for ( int j = 0; j < 100; j++ ) result[ j ] = new RecordItem(); result = database.AccessData(); for ( int i = 0; i < result.length; i++ ) { Object newdata[] = {result[ i ].GetEmployeeID(), result[ i ].GetEmployeeName(), result[ i ].GetOffWorkTime(), result[ i ].GetDescribe()}; String strTmp = result[ i ].GetOffWorkTime(); if ( (strTmp== null) || (strTmp.trim().length() == 0) ) continue; tableModel.addRow( newdata );}} catch ( Exception e ) { e.printStackTrace();}}} public class OffWorkRecordPane extends RecordPane { public OffWorkRecordPane() {} public void RestoreRecord() { String strTmp = jEmployeeIDTextField.getText(); if ( strTmp.trim().length() == 0 ) { this.dispose();return;} item.SetOffworkItem( jEmployeeIDTextField.getText(), jEmployeeNameTextField.getText(), jDateTimeTextField.getText(), jReasonTextField.getText() ); try {database.StoreData( item );} catch ( Exception e ) { e.printStackTrace();} this.dispose();}} 5.信息統(tǒng)計(jì)頁(yè)面的設(shè)計(jì)開(kāi)發(fā) package manpowersystem; import java.util.*; import java.awt.*; import javax.swing.*; public class Clock extends JPanel- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開(kāi)word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- java 課程設(shè)計(jì) 報(bào)告 mini 人事管理系統(tǒng)
鏈接地址:http://www.820124.com/p-8971835.html