java課程設(shè)計報告mini人事管理系統(tǒng).doc
《java課程設(shè)計報告mini人事管理系統(tǒng).doc》由會員分享,可在線閱讀,更多相關(guān)《java課程設(shè)計報告mini人事管理系統(tǒng).doc(28頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 JAVA程序設(shè)計 課程設(shè)計報告 課 題: mini人事管理系統(tǒng) 姓 名: 學(xué) 號: 同組姓名: 專業(yè)班級: 指導(dǎo)教師: 設(shè)計時間: 評閱意見:
2、評定成績: 指導(dǎo)老師簽名: 年 月 日 1 目 錄 一 、系統(tǒng)描述............................................ 1 1. 前言............................................... 1 2. 開發(fā)系統(tǒng)的功能介紹................................. 1 二 、分析與設(shè)計...................
3、....................... 2 1. 功能模塊劃分....................................... 2 2. 數(shù)據(jù)庫結(jié)構(gòu)描述..................................... 2 3. 各個模塊實現(xiàn)方法描述............................... 3 4. 測試數(shù)據(jù)及期望結(jié)果................................. 5 三 、源代碼.............................................. 5 1. 主頁面設(shè)計........
4、................................. 5 2. 記錄添加界面的開發(fā)設(shè)計............................. 12 3. 上班登記子系統(tǒng)開發(fā)設(shè)計............................. 14 4. 下班登記子系統(tǒng)開發(fā)設(shè)計............................. 16 5. 信息統(tǒng)計頁面的設(shè)計開發(fā)............................. 18 四 、系統(tǒng)測試...............................
5、............. 22 五、總結(jié)................................................. 25 1. 實驗心得........................................... 25 2. 參考文獻........................................... 26 一 、系統(tǒng)描述 1.前言 隨著科學(xué)技術(shù)的不斷提高,計算機科學(xué)日漸成熟
6、,其強大的功能已為人們深刻認識,它已進入人類社會的各個領(lǐng)域并發(fā)揮著越來越重要的作用。作為計算機應(yīng)用的一部分,使用計算機對人事信息進行管理,具有著手工管理所無法比擬的優(yōu)點.例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高人事理的效率,也是企業(yè)的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。因此,開發(fā)這樣一套管理軟件成為很有必要的事情。 目前,無論是機關(guān)、事業(yè)單位、還是企業(yè)單位,人事管理對于組織生存與長遠發(fā)展所具備的重要性都已經(jīng)有了明確的認識,而人事管理水平的提升不僅需要高素質(zhì)的管理人員,而且也需要信息化工具進行輔助 在現(xiàn)代化的企業(yè)管理中,人事管理系
7、統(tǒng)有著十分重要的作用,然而,用大型軟件系統(tǒng)來于小型的企事業(yè)單位,不啻于“殺雞用牛刀”,因此小型的的軟件對于這種單位自然有十分重要作用。 2、開發(fā)系統(tǒng)的功能介紹 (1)上班登記子系統(tǒng) 上班登記子系統(tǒng)主要對所有員工的上班信息進行登記,包括員工的工號、員工的姓名、員工的上班時間和相應(yīng)的備注信息,并且還要能夠刪除錯誤的員工上班時間信息的記錄 (2) 下班登記子系統(tǒng) 下班登記子系統(tǒng)主要對所有員工的下班信息進行登記,包括員工的工號、員工的姓名、員工的下班時間和相應(yīng)的備注信息,并且還要能夠刪除錯誤的員工下班時間信息的記錄。 (3)請假登記子系統(tǒng) 請假登記子系統(tǒng)主要對
8、所有員工的請假信息進行登記,包括員工的工號、員工的姓名、員工的請假時間和相應(yīng)的備注信息,并且還要能夠刪除錯誤的員工請假時間信息的記錄。 (4)信息統(tǒng)計子系統(tǒng) 信息統(tǒng)計系統(tǒng)主要對所有員工的上班時間信息、下班時間信息、請假時間信息進行統(tǒng)計,包括員工的工號、員工的姓名、員工的上班時間、員工的下班時間、員工的請假時間和相應(yīng)的備注信息,并且還可以刪除錯誤的員工時間信息的記錄。 (5)記錄添加子系統(tǒng) 記錄添加子系統(tǒng)的主要作用是在數(shù)據(jù)庫中添加員工工號、員工姓名、相應(yīng)的時間和備注。 二、分析與設(shè)計 本組共有三人一起完成本次的課程設(shè)計任務(wù),組長是李海霞,組員有李丹和周露,
9、組內(nèi)分工為:李丹負責(zé)上班系統(tǒng)的開發(fā),周露負責(zé)下班系統(tǒng)的開發(fā),李海霞負責(zé)請假系統(tǒng)的開發(fā)以及統(tǒng)計信息系統(tǒng)的開發(fā),然后再將每人完成的開發(fā)系統(tǒng)總結(jié)到一塊。大家一起研究錯誤出在哪里,該怎么改正這些錯誤。 1.功能模塊劃分 本系統(tǒng)分為如下的幾大模塊: Mini人事管理系統(tǒng) 退出系統(tǒng) 信息統(tǒng)計 子系統(tǒng) 請假登記 子系統(tǒng) 下班登記 子系統(tǒng) 上班登記 子系統(tǒng) 2.數(shù)據(jù)庫結(jié)構(gòu)描述 在這個MINI開發(fā)系統(tǒng)中,選用mysql作為系統(tǒng)服務(wù)數(shù)據(jù)庫,這是因為mysql功能強大,操作簡便,應(yīng)用較廣。數(shù)據(jù)庫方面只做了一張表,根據(jù)功能不同,在每個子系統(tǒng)里面讀取的數(shù)據(jù)部分不同
10、。設(shè)計的表如表一: 表一 列名 數(shù)據(jù)類型 可否允空 長度 工號 數(shù)值型 否 50 姓名 字符型 否 50 上班時間 日期型 否 30 下班時間 日期型 否 30 請假時間 日期型 是 30 備注 字符型 是 50 3.各個模塊實現(xiàn)方法描述 1) 上班登記模塊描述(負責(zé)人:李丹) 上班登記子系統(tǒng)主要包括一個上班信息統(tǒng)計界面和一個上班信息添加界面。上班信息統(tǒng)計界面是一個表格,每一行就是一個員工的相關(guān)信息。如果某條記錄不符合要求,可以將此條記錄刪除。 上班信息添加界面主要是員工工號、員工姓名、相應(yīng)時間和相關(guān)備注信息
11、??梢愿鶕?jù)信息添加界面上的系統(tǒng)時間指示來填入相應(yīng)的時間。 其流程圖為: 添加記錄 上班登記系統(tǒng) 選擇 刪除記錄 刷新界面 退出 結(jié)束 2) 下班登記模塊描述(負責(zé)人:周露) 下班登記子系統(tǒng)主要對所有員工的下班信息進行登記,包括員工的工號、員工的姓名、員工的下班時間和相應(yīng)的備注信息,并且還要能夠刪除錯誤的員工下班時間信息的記錄。下班信息添加界面主要是員工工號、員工姓名、相應(yīng)時間和相關(guān)備注信息??梢愿鶕?jù)信息添加界面上的系統(tǒng)時間指示填入相應(yīng)的時間。 其流程圖為: 添加記錄 下班登記系統(tǒng) 選擇 刪除記錄 刷新界面 退出 結(jié)束 3) 請假登記模塊描
12、述(負責(zé)人:李海霞) 請假登記子系統(tǒng)主要對所有員工的請假信息進行登記,包括員工的工號、員工的姓名、員工的請假時間和相應(yīng)的備注信息,并且還要能夠刪除錯誤的員工請假時間信息的記錄。 在這個下班信息添加界面中,主要是讀取員工的ID、員工的姓名、員工的請假時間以及相關(guān)的描述信息,并將這些信息寫入到數(shù)據(jù)庫中。 其流程圖為: 添加記錄 請假登記系統(tǒng) 選擇 刪除記錄 刷新界面 退出 結(jié)束 4) 信息統(tǒng)計模塊描述(負責(zé)人:李海霞) 信息統(tǒng)計系統(tǒng)主要對所有員工的上班時間信息、下班時間信息、請假時間信息進行統(tǒng)計,包括員工的工號、員工的姓名、員工的上班時間、員工的下班時間、
13、員工的請假時間和相應(yīng)的備注信息,并且還可以刪除錯誤的員工時間信息的記錄。 信息統(tǒng)計子系統(tǒng)主要是一個信息統(tǒng)計界面。信息統(tǒng)計界面是一個表格,每一行就是一個員工的相關(guān)信息。如果覺得某些記錄不符合要求,還可以將此條記錄刪除。在此界面,可以看到所有員工的上下班時間及其請假時間。 4.測試數(shù)據(jù)及期望結(jié)果 這個階段的工作主要是實際運行人事管理系統(tǒng)應(yīng)用程序,進入人事管理系統(tǒng)登錄界面, 在前一階段,雖然也作了性能預(yù)測,但是僅僅做了性能估計,且在估計過程中,做了許多簡化和假設(shè),忽略了許多次要因素,因而估計是粗糙的,并可能失真。在試運行階段,必須進行實際測量和評價,測試數(shù)據(jù)盡可能覆蓋現(xiàn)實世界的各種情況。
14、 如果實際測試結(jié)果不符合設(shè)計目標(biāo),則需返回物理設(shè)計階段,修改參數(shù)。有時也許還需要返回初始階段。 期望結(jié)果:比方說,員工A3:00來上班,點擊上班登記,手動添加上班記錄。下班亦然。在統(tǒng)計模塊中可以自動統(tǒng)計并顯示出每個員工每天上下班,請假的全部記錄。 三、源代碼 1.主頁面的設(shè)計開發(fā) package manpowersystem; import javax.swing.*; import java.awt.event.*; import java.awt.*; import com.borland.jbcl.layout.*; import javax.swin
15、g.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();
16、 JButton jStaticButton = new JButton(); JButton jExitButton = new JButton(); public MainFrame() { try { jbInit(); addWindowListener( new WindowAdapter() { //窗口事件監(jiān)聽 public void windowClosing( WindowEvent e ) { dispose(); //銷毀窗口 }} );} catch ( Exception e ) { e.printStackTrace();}} public
17、 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 ( manpowersyste
18、m.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(
19、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
20、) ); jOnWorkButton.setFont( new java.awt.Font( "DialogInput", 1, 16 ) ); jOnWorkButton.setText( "上班登記" ); jOnWorkButton.addActionListener(new MainFrame_jOnWorkButton_actionAdapter( this ) ); jOnWorkButton.addHierarchyBoundsListener( new MainFrame_jOnWorkButton_h
21、ierarchyBoundsAdapter( 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.
22、addAncestorListener( new MainFrame_jOffWorkButton_ancestorAdapter( this ) ); jLeaveWorkButton.setBackground( new Color( 212, 158, 217 ) ); jLeaveWorkButton.setFont( new java.awt.Font( "DialogInput", 1, 16 ) ); jLeaveWorkButton.setText( "請假登記" ); jLeaveWorkButton.addActionListener(new MainFrame_
23、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)計情況" );
24、 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 ) );
25、 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, 3
26、58, 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(
27、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 jOffWo
28、rkButton_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)按鈕的事件處理
29、 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
30、 jLeaveWorkButton_actionPerformed(ActionEvent e) { LeaveWorkPanel leaveWorkPanel = new LeaveWorkPanel(); leaveWorkPanel.setVisible(true);}//請假登記按鈕的事件處理 void jStaticButton_actionPerformed(ActionEvent e) { StaticPanel staticPanel = new StaticPanel(); staticPanel.setVisible(true);}//統(tǒng)計情況按鈕的事件處理}
31、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_hierarchyBounds
32、Adapter 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
33、_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 ancestorM
34、oved( 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 ancest
35、orAdded( 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; MainF
36、rame_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_jExitB
37、utton_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 ancesto
38、rMoved( 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( Actio
39、nEvent 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
40、) { 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) { adap
41、tee.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.jLeave
42、WorkButton_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_action
43、Performed(e);}} 2.記錄添加界面的開發(fā)設(shè)計 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 strE
44、mployeeID; 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( "" );
45、 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 = strEmployee
46、Name; 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 =
47、strOffWorkTime; this.strDescribe = strDescribe;} public void SetLeaveworkItem( String strEmployeeID, String strEmployeeName, String strLeaveWorkTime, String strDescribe ) { this.strEmployeeID = strEmployeeID; this.strEmployeeName = strEmployeeName; this.strLeaveWorkTime = strLeaveWorkTime; th
48、is.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() {
49、 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(
50、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 strDes
51、cribe ) { this.strDescribe = strDescribe;}} 3.上班登記子系統(tǒng)開發(fā)設(shè)計 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.
52、*; import com.borland.jbcl.layout.*; public class OnWorkPanel extends TablePanel { String[] arrField = {"工 號", "姓 名", "上班時間", "備 注"}; public OnWorkPanel() { tableModel = new DefaultTableModel( arrData, arrField ); jRecordTable = new JTable( tableModel ); jTableScrollPane.getViewport().add( jR
53、ecordTable, null ); UpdateRecord(); //更新表格 this.setTitle( "上班登記頁面" );} public void AddRecord() { OnWorkRecordPane recordPane = new OnWorkRecordPane(); recordPane.setSize( 630, 300 ); recordPane.setLocation( 230, 100 ); recordPane.setVisible( true ); recordPane.setResizable( false ); recordP
54、ane.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.p
55、rintStackTrace();} 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 R
56、ecordItem[ 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()
57、}; 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
58、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 ( Except
59、ion e ) {e.printStackTrace();} this.dispose();}} 4.下班登記子系統(tǒng)開發(fā)設(shè)計 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.
60、util.*; import com.borland.jbcl.layout.*; public class OffWorkPanel extends TablePanel { String[] arrField = {"工 號", "姓 名", "下班時間", "備 注"}; public OffWorkPanel() { tableModel = new DefaultTableModel( arrData, arrField ); jRecordTable = new JTable( tableModel ); jTableScrollPane.getViewport().
61、add( jRecordTable, null ); UpdateRecord(); //更新表格 this.setTitle( "下班登記頁面" );} public void AddRecord() { OffWorkRecordPane recordPane = new OffWorkRecordPane(); recordPane.setSize( 630, 300 ); recordPane.setLocation( 230, 100 ); recordPane.setVisible( true ); recordPane.setResizable( false );
62、 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(
63、);} 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
64、 ]; 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 st
65、rTmp = 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()
66、 { 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)計頁面的設(shè)計開發(fā) package manpowersystem; import java.util.*; import java.awt.*; import javax.swing.*; public class Clock extends
- 溫馨提示:
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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。