java課程設計報告-mini人事管理系統(tǒng).doc
《java課程設計報告-mini人事管理系統(tǒng).doc》由會員分享,可在線閱讀,更多相關《java課程設計報告-mini人事管理系統(tǒng).doc(28頁珍藏版)》請在裝配圖網(wǎng)上搜索。
JAVA程序設計 課程設計報告 課 題: mini人事管理系統(tǒng) 姓 名: 學 號: 同組姓名: 專業(yè)班級: 指導教師: 設計時間: 評閱意見: 評定成績: 指導老師簽名: 年 月 日 目 錄 一 、系統(tǒng)描述............................................ 1 1. 前言............................................... 1 2. 開發(fā)系統(tǒng)的功能介紹................................. 1 二 、分析與設計.......................................... 2 1. 功能模塊劃分....................................... 2 2. 數(shù)據(jù)庫結構描述..................................... 2 3. 各個模塊實現(xiàn)方法描述............................... 3 4. 測試數(shù)據(jù)及期望結果................................. 5 三 、源代碼.............................................. 5 1. 主頁面設計......................................... 5 2. 記錄添加界面的開發(fā)設計............................. 12 3. 上班登記子系統(tǒng)開發(fā)設計............................. 14 4. 下班登記子系統(tǒng)開發(fā)設計............................. 16 5. 信息統(tǒng)計頁面的設計開發(fā)............................. 18 四 、系統(tǒng)測試............................................ 22 五、總結................................................. 25 1. 實驗心得........................................... 25 2. 參考文獻........................................... 26 一 、系統(tǒng)描述 1.前言 隨著科學技術的不斷提高,計算機科學日漸成熟,其強大的功能已為人們深刻認識,它已進入人類社會的各個領域并發(fā)揮著越來越重要的作用。作為計算機應用的一部分,使用計算機對人事信息進行管理,具有著手工管理所無法比擬的優(yōu)點.例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高人事理的效率,也是企業(yè)的科學化、正規(guī)化管理,與世界接軌的重要條件。因此,開發(fā)這樣一套管理軟件成為很有必要的事情。 目前,無論是機關、事業(yè)單位、還是企業(yè)單位,人事管理對于組織生存與長遠發(fā)展所具備的重要性都已經(jīng)有了明確的認識,而人事管理水平的提升不僅需要高素質的管理人員,而且也需要信息化工具進行輔助 在現(xiàn)代化的企業(yè)管理中,人事管理系統(tǒng)有著十分重要的作用,然而,用大型軟件系統(tǒng)來于小型的企事業(yè)單位,不啻于“殺雞用牛刀”,因此小型的的軟件對于這種單位自然有十分重要作用。 2、開發(fā)系統(tǒng)的功能介紹 (1)上班登記子系統(tǒng) 上班登記子系統(tǒng)主要對所有員工的上班信息進行登記,包括員工的工號、員工的姓名、員工的上班時間和相應的備注信息,并且還要能夠刪除錯誤的員工上班時間信息的記錄 (2) 下班登記子系統(tǒng) 下班登記子系統(tǒng)主要對所有員工的下班信息進行登記,包括員工的工號、員工的姓名、員工的下班時間和相應的備注信息,并且還要能夠刪除錯誤的員工下班時間信息的記錄。 (3)請假登記子系統(tǒng) 請假登記子系統(tǒng)主要對所有員工的請假信息進行登記,包括員工的工號、員工的姓名、員工的請假時間和相應的備注信息,并且還要能夠刪除錯誤的員工請假時間信息的記錄。 (4)信息統(tǒng)計子系統(tǒng) 信息統(tǒng)計系統(tǒng)主要對所有員工的上班時間信息、下班時間信息、請假時間信息進行統(tǒng)計,包括員工的工號、員工的姓名、員工的上班時間、員工的下班時間、員工的請假時間和相應的備注信息,并且還可以刪除錯誤的員工時間信息的記錄。 (5)記錄添加子系統(tǒng) 記錄添加子系統(tǒng)的主要作用是在數(shù)據(jù)庫中添加員工工號、員工姓名、相應的時間和備注。 二、分析與設計 本組共有三人一起完成本次的課程設計任務,組長是李海霞,組員有李丹和周露,組內(nèi)分工為:李丹負責上班系統(tǒng)的開發(fā),周露負責下班系統(tǒng)的開發(fā),李海霞負責請假系統(tǒng)的開發(fā)以及統(tǒng)計信息系統(tǒng)的開發(fā),然后再將每人完成的開發(fā)系統(tǒng)總結到一塊。大家一起研究錯誤出在哪里,該怎么改正這些錯誤。 1.功能模塊劃分 本系統(tǒng)分為如下的幾大模塊: Mini人事管理系統(tǒng) 退出系統(tǒng) 信息統(tǒng)計 子系統(tǒng) 請假登記 子系統(tǒng) 下班登記 子系統(tǒng) 上班登記 子系統(tǒng) 2.數(shù)據(jù)庫結構描述 在這個MINI開發(fā)系統(tǒng)中,選用mysql作為系統(tǒng)服務數(shù)據(jù)庫,這是因為mysql功能強大,操作簡便,應用較廣。數(shù)據(jù)庫方面只做了一張表,根據(jù)功能不同,在每個子系統(tǒng)里面讀取的數(shù)據(jù)部分不同。設計的表如表一: 表一 列名 數(shù)據(jù)類型 可否允空 長度 工號 數(shù)值型 否 50 姓名 字符型 否 50 上班時間 日期型 否 30 下班時間 日期型 否 30 請假時間 日期型 是 30 備注 字符型 是 50 3.各個模塊實現(xiàn)方法描述 1) 上班登記模塊描述(負責人:李丹) 上班登記子系統(tǒng)主要包括一個上班信息統(tǒng)計界面和一個上班信息添加界面。上班信息統(tǒng)計界面是一個表格,每一行就是一個員工的相關信息。如果某條記錄不符合要求,可以將此條記錄刪除。 上班信息添加界面主要是員工工號、員工姓名、相應時間和相關備注信息??梢愿鶕?jù)信息添加界面上的系統(tǒng)時間指示來填入相應的時間。 其流程圖為: 添加記錄 上班登記系統(tǒng) 選擇 刪除記錄 刷新界面 退出 結束 2) 下班登記模塊描述(負責人:周露) 下班登記子系統(tǒng)主要對所有員工的下班信息進行登記,包括員工的工號、員工的姓名、員工的下班時間和相應的備注信息,并且還要能夠刪除錯誤的員工下班時間信息的記錄。下班信息添加界面主要是員工工號、員工姓名、相應時間和相關備注信息。可以根據(jù)信息添加界面上的系統(tǒng)時間指示填入相應的時間。 其流程圖為: 添加記錄 下班登記系統(tǒng) 選擇 刪除記錄 刷新界面 退出 結束 3) 請假登記模塊描述(負責人:李海霞) 請假登記子系統(tǒng)主要對所有員工的請假信息進行登記,包括員工的工號、員工的姓名、員工的請假時間和相應的備注信息,并且還要能夠刪除錯誤的員工請假時間信息的記錄。 在這個下班信息添加界面中,主要是讀取員工的ID、員工的姓名、員工的請假時間以及相關的描述信息,并將這些信息寫入到數(shù)據(jù)庫中。 其流程圖為: 添加記錄 請假登記系統(tǒng) 選擇 刪除記錄 刷新界面 退出 結束 4) 信息統(tǒng)計模塊描述(負責人:李海霞) 信息統(tǒng)計系統(tǒng)主要對所有員工的上班時間信息、下班時間信息、請假時間信息進行統(tǒng)計,包括員工的工號、員工的姓名、員工的上班時間、員工的下班時間、員工的請假時間和相應的備注信息,并且還可以刪除錯誤的員工時間信息的記錄。 信息統(tǒng)計子系統(tǒng)主要是一個信息統(tǒng)計界面。信息統(tǒng)計界面是一個表格,每一行就是一個員工的相關信息。如果覺得某些記錄不符合要求,還可以將此條記錄刪除。在此界面,可以看到所有員工的上下班時間及其請假時間。 4.測試數(shù)據(jù)及期望結果 這個階段的工作主要是實際運行人事管理系統(tǒng)應用程序,進入人事管理系統(tǒng)登錄界面, 在前一階段,雖然也作了性能預測,但是僅僅做了性能估計,且在估計過程中,做了許多簡化和假設,忽略了許多次要因素,因而估計是粗糙的,并可能失真。在試運行階段,必須進行實際測量和評價,測試數(shù)據(jù)盡可能覆蓋現(xiàn)實世界的各種情況。 如果實際測試結果不符合設計目標,則需返回物理設計階段,修改參數(shù)。有時也許還需要返回初始階段。 期望結果:比方說,員工A3:00來上班,點擊上班登記,手動添加上班記錄。下班亦然。在統(tǒng)計模塊中可以自動統(tǒng)計并顯示出每個員工每天上下班,請假的全部記錄。 三、源代碼 1.主頁面的設計開發(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)聽 public void windowClosing( WindowEvent e ) { dispose(); //銷毀窗口 }} );} 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( "請假登記" ); 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)計情況" ); 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);}//請假登記按鈕的事件處理 void jStaticButton_actionPerformed(ActionEvent e) { StaticPanel staticPanel = new StaticPanel(); staticPanel.setVisible(true);}//統(tǒng)計情況按鈕的事件處理} 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.記錄添加界面的開發(fā)設計 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)開發(fā)設計 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 = {"工 號", "姓 名", "上班時間", "備 注"}; public OnWorkPanel() { tableModel = new DefaultTableModel( arrData, arrField ); jRecordTable = new JTable( tableModel ); jTableScrollPane.getViewport().add( jRecordTable, 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 ); 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 = {}; //設定表格的字段 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)開發(fā)設計 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 = {"工 號", "姓 名", "下班時間", "備 注"}; public OffWorkPanel() { tableModel = new DefaultTableModel( arrData, arrField ); jRecordTable = new JTable( tableModel ); jTableScrollPane.getViewport().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 ); 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 = {}; //設定表格的字段 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)計頁面的設計開發(fā) package manpowersystem; import java.util.*; import java.awt.*; import javax.swing.*; public class Clock extends JPanel- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- java 課程設計 報告 mini 人事管理系統(tǒng)
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學習交流,未經(jīng)上傳用戶書面授權,請勿作他用。
鏈接地址:http://www.820124.com/p-8971835.html