趙 娟
(西安鐵路職業(yè)技術學院,陜西 西安 710014)
基于TableMode的企業(yè)員工管理系統(tǒng)構建
趙 娟
(西安鐵路職業(yè)技術學院,陜西 西安 710014)
利用JAVA語言簡單、可直觀查詢運行信息和安全性高的特點,為了科學有效地對企業(yè)員工信息進行管理, 基于TableMode構建了企業(yè)員工管理系統(tǒng),并結合企業(yè)不同部門員工的特點,對設計方案進行了完善和改進。
JAVA;TableMode;企業(yè)員工管理
JAVA是SUN(stanford university network)公司開發(fā)出來的一套編程語言,是一種簡潔有效、移植性強、面向對象、具有多線程處理能力和安全性高的計算機語言。本文介紹了基于JAVA開發(fā)的一套適用于企業(yè)的員工管理系統(tǒng)[1]。
JAVA中提供了JTable和TableMode 2種表格組件,可以通過行和列的形式顯示數(shù)據(jù)的視圖,它們都是程序開發(fā)中非常重要的組件,在Swing中可以通過JTable組件非常輕松地構造出所需要的表格,并且也提供了一些方法來管理這些表格的內容;但是,使用JTable構建的表格相對比較單一,如果要制作一些操作界面更加友好的表格,例如在表格中加入一些單元按鈕或下拉列表框,則需借助TableMode接口,在該接口中定義了許多與表格操作相關的方法,常用的方法見表1[2]。
表1 TableModel接口的常用方法
2.1 系統(tǒng)分析
根據(jù)題目給出的字段抽象成數(shù)據(jù)庫表,題目中包含企業(yè)部門信息、人員信息和一些基本信息。根據(jù)給出的字段及各個信息之間的關系,以部門類別(見表2)和部門詳細信息(見表3)為例得到數(shù)據(jù)庫的表[3-4]。
表2 部門類別
表3 部門詳細信息
2.2 系統(tǒng)主界面開發(fā)
打開MyEclipse并建立工程,命名為ExployeeManager。在工程下建立frame包,以后關于本程序所有的窗體類都放在這個包中,在此包中建立類MainFrame.java,并在里面編寫創(chuàng)建主窗體類的代碼[5]。
主窗體形式設計如下:程序運行后,主窗體打開鋪平整個屏幕,主窗體帶有菜單欄,上面有5個菜單項,分別是部門管理、信息查詢、員工信息操作、基本信息管理和系統(tǒng);在部門管理菜單項下面有1個部門信息查詢與管理項,信息查詢下又有查詢全部員工信息和條件查詢2個項,員工信息操作包括添加員工信息、修改員工信息和刪除員工信息3個項;基本信息管理下包括學歷添加、職務添加、職稱添加和崗位添加;系統(tǒng)項中有幫助和退出2個項。將這些菜單項都添加到菜單中,然后將菜單放入“frame”中,實現(xiàn)后的效果如圖1所示。
圖1 主窗體顯示
2.3 表格源程序建立
表格源程序如下:
package org.lxh.demo 18.jtablemo;
import java.awt.BorderLayout;
import java.awt.WindowAdapter;
import java.awt. WindowEvent;
import java.swing.DefaultCellEditor;
import java.swing.JComboBox;
import java.swing.JFrame;
import java.swing.JPanel;
import java.swing.JScrollPane;
import java.swing.JTable;
import java.swing.table.AbstractTableModel;
class DefaultTable extends AbstractTableModel{
private String[]titles={“姓名”, “年齡”, “性別”, “職稱”, “部門”, “職務”, “學歷”}; //定義數(shù)組表示表格標題
private Object[][]userInfo={{“李興華”, “30”, “男”, “工程師”, “生產(chǎn)部”, “組長”, “本科”},
{“李康”, “38”, “男”, “高級工程師”, “研發(fā)部”, “主任”, “本科”}}; //定義二位對象數(shù)組表示數(shù)據(jù)
public int getColumnCount(){ //返回列的個數(shù)
renturn this.titles.length;
}
public int getRowCount(){ //返回表格的行數(shù)
renturn this.userInfo.length;
}
public Object getValueAt(int row,int col){ //返回指定行和列的數(shù)據(jù)
renturn this.userInfo[row][col];
}
//得到列的名字,如果不覆寫此方法,則以后無法顯示列的名稱
public String getColumnName(int col){
return this.titles[col]; //根據(jù)下標返回指定列的名字
}
/*返回列的類型,如果不覆寫此方法,則無法按格式顯示數(shù)據(jù),格式如下:
*1、boolean類型:以CheckBox方法顯示
*2、數(shù)值類型:以JLable顯示,文字向右排列
*/
public Class>getColumnClass(int col){
return this.getValueAt(0,col).getClass(); //取得指定列的類型
}
//如果不覆寫此方法,則表格無法編輯
public Boolean isCellEditable(int row,int col){
return ture; //所有表格單元均可編輯
}
public void setValueAt(Object newValueAt(Object newValue,int row,int col){ //修改表格數(shù)據(jù)
this.userInfo[row][col]=newValue; //修改數(shù)據(jù)
}
}
class TableColumnModeIDemo{
private JFrame frame =new JFrame(“Welcome To MLDN”);
//實例化窗體對象
private JTable table=null; //聲明JTable對象
private DefaultTable defaultTable=new DefaultTable(); //實例化
private JComboBox sexList =new JComboBox(); //定義下拉列表框
public TableColumnModeIDemo(){ //定義構造方法,完成顯示
this.table=new JTable(this.defaultTable); //實力化JTable對象
this.sexlist.addltem(“男”); //增加下拉選項
this.sexlist.addltem(“女”); //增加下拉選項
this.table.getColumnMode().getColumn(2).setCellEditor(
new DefaultCellEditor(this.sexList)); //將下拉列表項加入表格
JScrollPane scr=new JScrollPane(this.table); //加入滾動條
JPanel toolbar=new JPanel(); //定義面板
this.frame.add(toolBar,BorderLayout.NORTH); //將面板加入窗體
this.frame.add(scr,BorderLayout.CENTER); //將表格加入窗體
this.frame.setSize(370,160); //定義窗體大小
this.frame.setVisible(ture); //顯示窗體
this.frame.addWindowListener(newWindowAdapter(){
//加入事件監(jiān)聽
public void windowClosing(WindowEvent arg0){
//覆寫窗口關閉方法
System.exit(1); //系統(tǒng)退出
}});
}
}
public class JTableDemo02{
public static void main(String args[]){
new TableColumnModelDemo();
}
}
2.4 運行結果
運行結果如圖2所示,員工信息添加界面如圖3所示。
圖2 員工數(shù)據(jù)
圖3 員工信息添加界面
企業(yè)員工管理系統(tǒng)的開發(fā)程序較為復雜,需要不斷地進行完善及修改,本文只對其中表格設計部分做了簡要介紹。系統(tǒng)的建立可以簡便有效地實現(xiàn)企業(yè)員工信息的自動化管理與部門間的共享應用。
[1] ??藸?JAVA編程思想[M].北京:機械工業(yè)出版社,2007.
[2] 王小科.JavaScript程序設計[M].北京:人民郵電出版社,2014.
[3] 徐明遠.Java常用算法手冊[M].北京:中國鐵道出版社,2014.
[4] 徐傳運.Java高級程序設計[M].北京:清華大學出版社,2014.
[5] Jone L. Java程序設計與數(shù)據(jù)結構教程[M].北京:電子工業(yè)出版社,2014.
責任編輯李思文
EnterpriseStaffManagementSystemBuildingbasedonTableMode
ZHAO Juan
(Xi′an Railway Vocational and Technical College,Xi′an 710014, China)
Based on the characteristics of JAVA of simple language, intuitive query operation information, and the characteristics of high safety, and for the employees of the enterprise information management of scientific and effective, the paper built enterprise staff management system by using TableMode and improved the designing scheme considering the characteristics of enterprises of different employees.
JAVA, TableMode, enterprise staff management
TP 311
:B
趙娟(1978-),女,講師,主要從事無線通信和計算機技術等方面的研究。
2014-07-24