Java人事管理系統(tǒng)數(shù)據(jù)庫系統(tǒng)應(yīng)用課程設(shè)計報告_第1頁
Java人事管理系統(tǒng)數(shù)據(jù)庫系統(tǒng)應(yīng)用課程設(shè)計報告_第2頁
Java人事管理系統(tǒng)數(shù)據(jù)庫系統(tǒng)應(yīng)用課程設(shè)計報告_第3頁
Java人事管理系統(tǒng)數(shù)據(jù)庫系統(tǒng)應(yīng)用課程設(shè)計報告_第4頁
Java人事管理系統(tǒng)數(shù)據(jù)庫系統(tǒng)應(yīng)用課程設(shè)計報告_第5頁
已閱讀5頁,還剩37頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 . 理工大學(xué)城南學(xué)院數(shù)據(jù)庫系統(tǒng)應(yīng)用課程設(shè)計報告JAVA人事管理信息系統(tǒng)42 / 42課程設(shè)計成績評定系 別 水利計通系 專 業(yè) 計算機科學(xué)與技術(shù)班 級 計算機1001 學(xué) 號 24指導(dǎo)教師對學(xué)生在課程設(shè)計中的評價評分項目優(yōu)良中與格不與格課程設(shè)計中的創(chuàng)造性成果學(xué)生掌握課程容的程度課程設(shè)計完成情況課程設(shè)計動手能力文字表達學(xué)習態(tài)度規(guī)要求課程設(shè)計論文的質(zhì)量指導(dǎo)教師對課程設(shè)計的評定意見綜合成績 指導(dǎo)教師簽字 年 月 日課程設(shè)計任務(wù)書城南學(xué)院水利計通系 計算機科學(xué)與技術(shù)專業(yè)課程名稱數(shù)據(jù)庫系統(tǒng)應(yīng)用課程設(shè)計時間20122013學(xué)年第1學(xué)期12周學(xué)生指導(dǎo)老師題 目JAVA人事管理系統(tǒng)公司人員管理實現(xiàn)主要容:本

2、課程設(shè)計主要完成一個公司人事管理信息系統(tǒng),本系統(tǒng)分為三個大模塊,兩人完成,三個模塊分別為:1. 應(yīng)用層界面模塊。其中包括登陸界面與主要管理界面的實現(xiàn)。2. 系統(tǒng)數(shù)據(jù)庫模塊。這里主要實現(xiàn)對數(shù)據(jù)庫的創(chuàng)建。3. 程序消息響應(yīng)模塊。主要實現(xiàn)程序的運行,連接數(shù)據(jù)庫等功能。要求:(1)要求能獨立地運用程序語言和數(shù)據(jù)庫方面知識,編制一個功能簡單的小型信息模擬系統(tǒng)。(2)學(xué)生按要求編寫課程設(shè)計報告書,能正確闡述設(shè)計和實驗結(jié)果。(3)通過課程設(shè)計培養(yǎng)學(xué)生嚴謹?shù)目茖W(xué)態(tài)度,認真的工作作風和團隊協(xié)作精神。(4)學(xué)生應(yīng)抱著嚴謹認真的態(tài)度積極投入到課程設(shè)計過程中。 應(yīng)當提交的文件:(1)課程設(shè)計報告。(2)課程設(shè)計附件(

3、源程序、各類圖紙、實驗數(shù)據(jù)、運行截圖等)。JAVA人事管理信息系統(tǒng)摘 要 在當前的信息化管理浪潮下,我國的人事管理模式也由傳統(tǒng)的手工業(yè)務(wù)辦理模式逐漸轉(zhuǎn)向信息化,現(xiàn)代化的高效管理模式。結(jié)合人事辦公管理的實際情況和實踐操作,研發(fā)的新一代人事管理系統(tǒng),使一直沿襲傳統(tǒng)辦公模式而產(chǎn)生的管理效率較低,經(jīng)營管理水平相對滯后等現(xiàn)象得改善已經(jīng)成為各個單位的必然需求;為了提高人事辦公行業(yè)整體的科技含量與管理效率,加快人事行業(yè)的信息化建設(shè);為了提高公司的管理水平,他們急需一套安全可靠的人事管理系統(tǒng),所以我與同學(xué)陽堅一起開發(fā)了這套人事管理系統(tǒng)。關(guān)鍵詞 JAVA;人事管理系統(tǒng);oracle1 開發(fā)環(huán)境與項目組介紹1.1

4、硬件環(huán)境1、存:256MB以上2、CPU:酷睿 i5 M4601.2 軟件環(huán)境1、操作系統(tǒng):Microsoft Windows XP2、數(shù)據(jù)庫系統(tǒng):Oracle + PL/SQL3、開發(fā)工具包:JDK Version 1.4.24、開發(fā)軟件: Eclipse1.3 項目組成員1、映喆:主要負責程序的界面與消息響應(yīng)。2、陽 堅:負責數(shù)據(jù)庫的創(chuàng)建與優(yōu)化。2 系統(tǒng)設(shè)計2.1 應(yīng)用程序界面設(shè)計由于公司人事管理并非普通員工管理、系統(tǒng)必須具有較高的安全性,只有具有管理員身份的用戶才能允許對員工信息的編輯,修改等權(quán)限,所以我們必須為管理者設(shè)定一個登陸框,通過登錄才能進入主界面實現(xiàn)對員工信息的操作,這樣即使管

5、理者不在電腦旁別人也無法私自修改員工信息,大大的增加了系統(tǒng)的安全可靠性。進入主界面以后,管理者能實現(xiàn)對員工的檔案進行管理,可以查看、添加、修改、刪除員工信息等。同時主界面也必須實現(xiàn)管理者的用戶管理,用于修改當前密碼等。同時系統(tǒng)要具有較高的適應(yīng)性,能夠適應(yīng)應(yīng)用要求的變化與修改,具有靈活可擴充性。程序在性能上必須可以方便快捷有效地完成編輯、查詢等地各項操作,錄入數(shù)據(jù)合法性校驗程序高,查詢速度快。保證信息的正確與時更新,并降低信息訪問的成本。操作方便可大大提高工作效率。程序主要流程圖如圖1所示:圖1 程序流程圖2.2 數(shù)據(jù)庫的選擇Oracle Database,又名Oracle RDBMS,或簡稱O

6、racle。是甲骨文公司提供的以分布式數(shù)據(jù)庫為核心的一組軟件產(chǎn)品,是目前最流行的客戶/服務(wù)器端(Client/Server)或B/S體系結(jié)構(gòu)的數(shù)據(jù)庫之一。作為一個通用的數(shù)據(jù)庫系統(tǒng),它具有完整的數(shù)據(jù)管理功能;作為一個關(guān)系數(shù)據(jù)庫,它是一個完備關(guān)系的產(chǎn)品。所以在此課程設(shè)計中,我和陽堅同學(xué)采用Oracle作為我們的開發(fā)數(shù)據(jù)庫來開發(fā)這個人事管理系統(tǒng)。2.3 系統(tǒng)數(shù)據(jù)實體結(jié)構(gòu)描述管理員信息表(Manager):用以登陸對員工信息的管理。具體設(shè)計結(jié)構(gòu)如表1所示:表1 管理者信息表功能名稱:管理者信息表(Manager)數(shù)據(jù)元素數(shù)據(jù)采集方式說明 Name 人工采集 主鍵,必須輸入 SSID 人工采集 非空,必

7、須輸入員工信息表(worker):用以記錄員工基本信息,具體設(shè)計如表2所示:表2 員工信息表功能名稱:員工信息表(worker)數(shù)據(jù)元素數(shù)據(jù)采集方式說明nId人工采集主鍵,必須輸入Name人工采集非空,必須輸入Job人工采集允許空Sal人工采集允許空由于某些特定的公司擁有一些特殊職業(yè),所以我們在工作與工資這兩欄設(shè)置允許空,方便管理者管理。3 系統(tǒng)詳細設(shè)計3.1系統(tǒng)工作原理在登陸框處使用代碼連接Manager數(shù)據(jù)庫,采用JDBC方法連接數(shù)據(jù)庫,從Edit框獲取用戶輸入的用戶名與密碼與Manager表中數(shù)據(jù)對比,如果為數(shù)據(jù)庫中的數(shù)據(jù)則允許登陸進行員工管理,若非數(shù)據(jù)庫中的數(shù)據(jù)則報錯。在主界面處分別連

8、接worker與Manager兩個數(shù)據(jù)庫進行不同操作,如修改密碼時則連接Manager,對員工進行操作則連接worker進行數(shù)據(jù)庫操作,從而達到人事管理系統(tǒng)的需求。由于Oracle為C/S或者B/S模式的數(shù)據(jù)庫,B/S模式即流浪器/服務(wù)器模式,是一種從傳統(tǒng)的的二層C/S(客戶端/服務(wù)端)模式發(fā)展起來的新的網(wǎng)絡(luò)結(jié)構(gòu)模式,其本質(zhì)是三層結(jié)構(gòu)的C/S模式,安全性與方便性高。所以我們整個員工管理系統(tǒng)也采用C/S或者B/S模式的系統(tǒng)構(gòu)架,我們的數(shù)據(jù)庫放在公司服務(wù)器上,管理者客戶端通過代碼遠程連接至數(shù)據(jù)庫服務(wù)器,從而獲取數(shù)據(jù)并修改數(shù)據(jù)。而我們的數(shù)據(jù)庫處在服務(wù)器的防火墻之后,更增加了數(shù)據(jù)的可靠性與安全性。應(yīng)用

9、界面的工作原理如圖2所示: 圖2 應(yīng)用界面工作原理3.2數(shù)據(jù)庫詳細設(shè)計要操作數(shù)據(jù)庫的方法有很多,這里我們采用方便的PL/SQL來操作Oracle數(shù)據(jù)庫,在系統(tǒng)服務(wù)中打開Oracle數(shù)據(jù)庫的Server之后,我們使用默認的 scott賬號登陸并創(chuàng)建表單。Manager表單的創(chuàng)建:Create Table Manager(Name varchar(20),SSID varchar(20) Not NULL,PRIMARY KEY (Name)Worcker表單的創(chuàng)建:Create Table worker(NID VARCHAR2(4) ,NAME VARCHAR2(20) Not NULL,JO

10、B VARCHAR2(20) ,SAL NUMBER(8,2),PRIMARY KEY (NID)在表單創(chuàng)建后用Insert into語句向兩個表單中分別插入數(shù)據(jù),因為數(shù)據(jù)量比較大,我這就不一一贅述我的數(shù)據(jù)了,插入數(shù)據(jù)如圖3所示: 圖3 兩個表中所插入的數(shù)據(jù)3.3程序界面詳細設(shè)計界面設(shè)計我們采用了網(wǎng)格布局方法,使得界面簡潔美觀易于操作。界面主要分為登陸框界面與主程序界面,主界面使用了一個Table控件分割員工管理與用戶管理來方便管理員管理,同時也為程序節(jié)省了占用的資源。3.4程序消息響應(yīng)詳細設(shè)計程序的消息響應(yīng)主要為登陸框的登錄響應(yīng)與主程序的添加刪除查詢等Button的KeyDown響應(yīng),只要為

11、Button添加成員函數(shù)addActionLisener并在函數(shù)書寫響應(yīng)代碼即可,如登陸框的消息響應(yīng)如下:utton okBtn = new utton("登陸");/ 為登陸按鈕添加事件okBtn.addActionListener(new ActionListener()publicvoid actionPerformed(ActionEvent e)/ 獲取用戶在文本框中輸入的值,去掉前后的空格,匿名部類訪問外部成員,外部成員必須使用final修飾String name = txt_name.getText().trim();String pwd = txt_pwd.

12、getText().trim();LoginSql u = new LoginSql();int flag = 1;tryflag = u.findByName(name,pwd);/System.out.println(flag);catch (Exception e1)/ TODO Auto-generated catch block/e1.printStackTrace();/判斷用戶是否合法/System.out.println(flag);if(flag = 1) / System.out.println("登陸成功。");if(JOptionPane.showC

13、onfirmDialog(loginFrame, "登陸成功!","提示",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE)=JOptionPane.YES_OPTION)loginFrame.setVisible(false);new MainFrame(); else JOptionPane.showConfirmDialog(loginFrame, "用戶名或者密碼錯誤!","錯誤通知", 0); );3.5連接數(shù)據(jù)庫詳細設(shè)計使用Java連接Ora

14、cle數(shù)據(jù)庫需要驅(qū)動庫,因此先Import從網(wǎng)上下載的Java Oracle驅(qū)動庫classes.jar文件,如圖4所示:圖4 工程文件目錄使用Java連接Oracle數(shù)據(jù)庫的步驟:1、 加載數(shù)據(jù)庫驅(qū)動:Class.forName("oracle.jdbc.driver.OracleDriver");2、連接數(shù)據(jù)庫:Connection connection = DriverManager.getConnection("jdbc:oracle:thin::1521:WAIT","scott","tiger&

15、quot;);采用本機回路IP默認本機為主機端口為配置Oracle時所填寫的1521,主機名:wait,登錄數(shù)據(jù)庫賬戶與密碼:"scott","tiger";3、 查詢數(shù)據(jù)庫:ResultSet rSet = statement.executeQuery("select * from Manager");在完成以上三步以后我們就可以通過ResultSet的對象 rSet.next來讀取數(shù)據(jù)庫中的數(shù)據(jù)了。4 測試和運行結(jié)果截圖4.1登錄界面圖5 登錄界面運行截圖4.2主程序界面圖6 主程序界面圖7 添加新員工界面圖8 刪除提示圖9 修改

16、與查詢后的界面圖10 管理人員修改密碼界面5 結(jié)束語在這次課程設(shè)計中,小組每個成員分工明確,互相幫助,為設(shè)計的開發(fā)成功營造了良好的氛圍。在日后的工作與學(xué)習中,我們應(yīng)繼續(xù)發(fā)揚這樣的工作精神。通過這次的課程設(shè)計,我們學(xué)習到了整個開發(fā)軟件的標準流程與數(shù)據(jù)庫在實際操作中的應(yīng)用,以與在開發(fā)過程中團隊合作分工的重要性。更能深刻地理解開發(fā)軟件的相關(guān)知識,鍛煉了開發(fā)能力,知識得到了很大的拓展。在進行分析、設(shè)計、編碼、調(diào)試、維護這幾部分的工作的時候,最核心的就是文檔的編寫。文檔的編寫有助于我們整理思路不做無頭蒼蠅,同樣也便于團隊交流與日后維護的參考。通過這次課程設(shè)計,我學(xué)習到了不少的知識,如Java、Oracl

17、e的使用,將對我在今后的軟件開發(fā)過程中起到極大的作用。其實開發(fā)軟件也可以用到我們現(xiàn)實生活中來,這次課程設(shè)計改變了我以往的思維方式,以前我總認為做軟件就是一個人對著電腦無限地敲打代碼,現(xiàn)在明白了團隊的分工、合作的重要性,團隊的力量要遠遠超過個人的力量!附錄1 程序源代碼1、LoginFrame.javapackage .JiangYzh;import java.awt.BorderLayout;import java.awt.Color;import java.awt ponent;import java.awt.Container;import java.awt.Font;import jav

18、a.awt.GridBagConstraints;import java.awt.GridBagLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;importjava.awt.event.WindowEvent;import java.awt.event.WindowListener;importjava.sql.SQLClientInfoException;import javax.swing.BorderFactory;import javax.swing.utton;import j

19、avax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JPasswordField;import javax.swing.JTextField;importjavax.swing.UIManager;importjavax.swing.UnsupportedLookAndFeelException;/import .ernal.utils.SuballocatedIn

20、tVector;/* * 登陸界面 */publicclass LoginFrameprivate JFrame loginFrame = new JFrame();private JPanel loginPanel = null;public LoginFrame()initFrame();publicvoid initFrame()/ 設(shè)置窗口大小loginFrame.setBounds(400, 300, 400, 250);/ 左上角的坐標,寬/高loginFrame.setBackground(Color.blue);/ 設(shè)置背景顏色loginFrame.setTitle("

21、;歡迎使用城南學(xué)院人事管理系統(tǒng)");/ 設(shè)置標題loginFrame.setVisible(true);/ 設(shè)置可見loginFrame.setDefaultCloseOperation(0); /設(shè)置選擇關(guān)閉時不執(zhí)行任何操作loginFrame.addWindowListener(new WindowListener()publicvoid windowClosing(WindowEvent e)/ TODO Auto-generated method stubif(JOptionPane.showConfirmDialog(loginFrame, "確定退出?"

22、;,"提示",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE)=JOptionPane.YES_OPTION)System.exit(0);Overridepublicvoid windowClosed(WindowEvent e)/ TODO Auto-generated method stubOverridepublicvoid windowOpened(WindowEvent e)/ TODO Auto-generated method stubOverridepublicvoid windowIconif

23、ied(WindowEvent e)/ TODO Auto-generated method stubOverridepublicvoid windowDeiconified(WindowEvent e)/ TODO Auto-generated method stubOverridepublicvoid windowActivated(WindowEvent e)/ TODO Auto-generated method stubOverridepublicvoid windowDeactivated(WindowEvent e)/ TODO Auto-generated method stu

24、b);loginFrame.setLayout(new BorderLayout();/ 為整個窗口設(shè)置邊框布局,分為東西南北中Container mainFrame = loginFrame.getContentPane();mainFrame.setBackground(Color.blue);/ 登陸面板loginPanel = new JPanel();loginPanel.setBounds(100, 300, 250, 200);loginPanel.setBorder(BorderFactory.createLineBorder(Color.BLACK);GridBagConst

25、raints gbc = new GridBagConstraints();/ 以網(wǎng)格作為基礎(chǔ)的布局形式GridBagLayout gbl = new GridBagLayout();loginPanel.setLayout(gbl);/ 設(shè)置登陸面板的布局為網(wǎng)格gbc.fill = GridBagConstraints.NONE; / 定義組件的放置形式,如果面板改變不重新調(diào)整組件的大小gbc.weighty = 0.001;JLabel jL_Title = new JLabel();jL_Title.setText(" 用戶登錄");jL_Title.setFont(

26、new Font("用戶登錄", Font.BOLD, 30);/ 設(shè)置字體為粗體,大小為30磅/ 設(shè)置字體位置add(jL_Title, gbc, 0, 0, GridBagConstraints.REMAINDER, 1);/ 第一該組件為最后一個組件/ 用戶名JLabel jL_user = new JLabel();jL_user.setText("用戶名");/ jL_Title.setFont(new Font("用戶名",Font.BOLD,25);add(jL_user, gbc, 0, 3, 1, 1);/ 用戶名文

27、本框final JTextField txt_name = new JTextField(10);/ 文本框,長度為10add(txt_name, gbc, 1, 3, 1, 1);/ 密碼JLabel jL_pwd = new JLabel();jL_pwd.setText("密碼");add(jL_pwd, gbc, 0, 4, 1, 1);/ 密碼框final JPasswordField txt_pwd = new JPasswordField(10);/ 密碼框,長度10add(txt_pwd, gbc, 1, 4, 1, 1);/ 登陸按鈕utton okBtn

28、 = new utton("登陸");/ 為登陸按鈕添加事件okBtn.addActionListener(new ActionListener()publicvoid actionPerformed(ActionEvent e)/ 獲取用戶在文本框中輸入的值,去掉前后的空格,匿名部類訪問外部成員,外部成員必須使用final修飾String name = txt_name.getText().trim();String pwd = txt_pwd.getText().trim();LoginSql u = new LoginSql();int flag = 1;tryfla

29、g = u.findByName(name,pwd);/System.out.println(flag);catch (Exception e1)/ TODO Auto-generated catch block/e1.printStackTrace();/判斷用戶是否合法/System.out.println(flag);if(flag = 1) / System.out.println("登陸成功。");if(JOptionPane.showConfirmDialog(loginFrame, "登陸成功!","提示",JOptio

30、nPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE)=JOptionPane.YES_OPTION)loginFrame.setVisible(false);new MainFrame(); else JOptionPane.showConfirmDialog(loginFrame, "用戶名或者密碼錯誤!","錯誤通知", 0); );add(okBtn, gbc, 0, 6, 1, 2);/ 取消按鈕utton cancleBtn = new utton("確定");cancleBtn

31、.addActionListener(new ActionListener()Overridepublicvoid actionPerformed(ActionEvent e)/ TODO Auto-generated method stubif(JOptionPane.showConfirmDialog(loginFrame, "確定退出?","提示",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE)=JOptionPane.YES_OPTION)System.exit(0););add(c

32、ancleBtn, gbc, 1, 6, 1, 2);mainFrame.add(loginPanel, BorderLayout.CENTER);/ 將面板加入到中部loginFrame.setResizable(false);/ 不允許調(diào)整窗口的大小/* 為組件定位 */publicvoid add(Component c, GridBagConstraints gbc, int x, int y, int w,int h)gbc.gridx = x;/ 定義第幾行,一行中的開始單元格 gridx=0gbc.gridy = y;/ 一列中開始的單元格 gridy=0gbc.gridwidt

33、h = w;/ 一行中單元格的格數(shù)gbc.gridheight = h;/ 一列中單元格的格數(shù)loginPanel.add(c, gbc);/ 加入布局publicstaticvoid main(String args)new LoginFrame();2、LoginSql.javapackage .JiangYzh;import java.sql.*;publicclass LoginSqlprivate String myName;private String mySsid;publicint findByName(String str1,String str2) throws Excep

34、tion Class.forName("oracle.jdbc.driver.OracleDriver");Connection connection = DriverManager.getConnection("jdbc:oracle:thin::1521:WAIT","scott","tiger");Statement statement = connection.createStatement();ResultSet rSet = statement.executeQuery("s

35、elect * from Manager");while(rSet.next()myName = rSet.getString(1);mySsid = rSet.getString(2);if(str1.equals(myName) && str2.equals(mySsid)/System.out.println("進了循環(huán)!");connection.close();statement.close();rSet.close();return 1;connection.close();statement.close();rSet.close();

36、return 0;3、MainFram.javapackage .JiangYzh;import java.awt.BorderLayout;import java.awt.Color;import java.awt ponent;importjava.awt.Frame;import java.awt.GridBagConstraints;import java.awt.GridBagLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.Windo

37、wAdapter;import java.awt.event.WindowEvent;import java.util.Vector;importjavax.activation.FileDataSource;import javax.swing.ButtonGroup;import javax.swing.utton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JRadioButto

38、n;import javax.swing.JScrollPane;import javax.swing.JSplitPane;import javax.swing.JTabbedPane;import javax.swing.JTable;import javax.swing.JTextField;import javax.swing.table.DefaultTableModel;importorg.omg.CORBA.PUBLIC_MEMBER;publicclassMainFrameextends JFrameJTabbedPanejtp= new JTabbedPane();JPane

39、lfield= new JPanel();SuppressWarnings("unused")JPanelmaJPanel= new JPanel();JTabletable= null;JTextFieldtextField= new JTextField(10);JPanelpanel;ButtonGroupconditionGroup;DefaultTableModeldtm;JScrollPanemJScrollPane;public MainFrame()mInit();publicvoid add(Component c, GridBagConstraints

40、constraints, int x, int y,int w, int h)/ 此方法用來添加控件到容器中constraints.gridx = x;constraints.gridy = y;constraints.gridwidth = w;constraints.gridheight = h;panel.add(c, constraints);publicvoid mInit()field.setLayout(new BorderLayout();final JFrame frame = new JFrame();JSplitPane mSplitPane = new JSplitPa

41、ne(JSplitPane.VERTICAL_SPLIT);mSplitPane.setDividerLocation(150);mSplitPane.setDividerSize(4);field.add(mSplitPane);Vector<Vector<String>> rowData = null;tryrowData = MainSql.getMyData();catch (Exception e)/ TODO Auto-generated catch blocke.printStackTrace();System.out.println(rowData);/

42、 dtm = new DefaultTableModel(rowData, ves);table = getQueryMsg(rowData);mJScrollPane = new JScrollPane(table);field.add(mJScrollPane, BorderLayout.SOUTH);/ field.add(textField,BorderLayout.CENTER);GridBagConstraints gbc = new GridBagConstraints();jtp.add("工作人員 ", field);panel = new JPanel(

43、);GridBagLayout gbl = new GridBagLayout();panel.setLayout(gbl);conditionGroup = new ButtonGroup();JLabel queryTitle = new JLabel("條件查詢");queryTitle.setBackground(Color.GREEN);add(queryTitle, gbc, 0, 0, 1, 1);final MainSql mSql = new MainSql();SlcListener mListener = new SlcListener(this);J

44、RadioButton con1 = new JRadioButton("按編號", true);/ 單選按鈕JRadioButton con2 = new JRadioButton("按");utton slcButton = new utton("查詢");slcButton.addActionListener(mListener);add(con1, gbc, 1, 0, 1, 1);add(con2, gbc, 2, 0, 1, 1);add(textField, gbc, 1, 2, 1, 1);add(slcButton,

45、 gbc, 4, 2, 1, 1);conditionGroup.add(con1);conditionGroup.add(con2);SuppressWarnings("unused")utton addButton = new utton("添加");addButton.addActionListener(new ActionListener()Overridepublicvoid actionPerformed(ActionEvent e)/ TODO Auto-generated method stubnew AddFrame(););Suppr

46、essWarnings("unused")EdtFrame eDt = new EdtFrame(this);utton edtButton = new utton("修改");edtButton.addActionListener(eDt);SuppressWarnings("unused")utton delButton = new utton("刪除");delButton.addActionListener(new ActionListener()Overridepublicvoid actionPerfo

47、rmed(ActionEvent e)/ TODO Auto-generated method stubif(JOptionPane.showConfirmDialog(frame, "確定刪除該員工信息?","提示",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE)=JOptionPane.YES_OPTION)trymSql.delEmpByNo(textField.getText().trim();catch (Exception e1)/ TODO Auto-generated cat

48、ch blocke1.printStackTrace();textField.setText(null););add(addButton, gbc, 0, 4, 1, 1);add(edtButton, gbc, 1, 4, 1, 1);add(delButton, gbc, 2, 4, 1, 1);mSplitPane.setTopComponent(panel);/ System.out.println(con1.getso);/ add(slcButton, gbc, 1, 3, 1, 1);/ field.add(addButton);/ field.add(delButton);jt

49、p.add("管理人員 ", maJPanel);getContentPane().setLayout(new BorderLayout();getContentPane().add(jtp, BorderLayout.CENTER);setBounds(200,100,820, 600);setResizable(false);setTitle("人員管理系統(tǒng)");setVisible(true);addWindowListener(new WindowAdapter()publicvoid windowClosing(WindowEvent e)Sy

50、stem.exit(0);MainFrame.this.setVisible(false);MainFrame.this.dispose(););public String getInputValue()returntextField.getText().trim();public ButtonGroup getConditionGroup()returnconditionGroup;publicvoid setConditionGroup(ButtonGroup conditionGroup)this.conditionGroup = conditionGroup;public JTable

51、 getTbl()returntable;publicvoid setTbl(JTable table)this.table = table;public DefaultTableModel getDtm()returndtm;publicvoid setDtm(DefaultTableModel dtm)this.dtm = dtm;public JScrollPane getEmpTblPane()returnmJScrollPane;publicvoid setEmpTblPane(JScrollPane mJScrollPane)this.mJScrollPane = mJScroll

52、Pane;public JTable getQueryMsg(Vector<Vector<String>> rowDatas)/ 列標題/ Object columnNames = "編號", "", "工作", "工資" ;Vector<String> ves = new Vector<String>();ves.add("編號");ves.add("");ves.add("工作");ves.add(&qu

53、ot;工資");dtm = new DefaultTableModel(rowDatas, ves);/ 默認的表模型table = new JTable(dtm);/ 表模型加入面板table.setModel(dtm);table.setRowSelectionAllowed(true);/ 設(shè)置是否可以選擇此模型中的行table.setVisible(true);table.setBounds(0, 0, 600, 300);returntable;4、 MainSql.javapackage .JiangYzh;import java.sql.*;import java.util.Vector;import javax.swing.JFrame;import javax.swing.JOptionPane;publicclass MainSqlpublicstatic Vector<Vector<String>> getMyData() t

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論