Java課程設(shè)計(jì)-教職工檔案管理系統(tǒng).doc
《Java課程設(shè)計(jì)-教職工檔案管理系統(tǒng).doc》由會員分享,可在線閱讀,更多相關(guān)《Java課程設(shè)計(jì)-教職工檔案管理系統(tǒng).doc(57頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
職工檔案管理系統(tǒng) 一.引言 1.1項(xiàng)目背景和目標(biāo) 職工檔案管理系統(tǒng)主要是對在校教師的個(gè)人基本信息以及教學(xué)信息進(jìn)行管理,對教職工提供查詢簡介信息、教學(xué)信息功能;對管理員用戶提供查詢教師簡介信息、查詢教學(xué)信息、添加教師信息、修改教師信息、刪除教師信息等功能。我們的目標(biāo)就是為該系統(tǒng)提供后臺連接MYSQL數(shù)據(jù)庫程序設(shè)計(jì)以及前臺用戶界面設(shè)計(jì)。 1.2項(xiàng)目的可行性研究 設(shè)計(jì)此系統(tǒng)需要java面向?qū)ο缶幊袒A(chǔ),數(shù)據(jù)庫應(yīng)用知識以及功能分析。根據(jù)目前所開設(shè)的課程,學(xué)生已經(jīng)具備這樣的知識,有能力綜合java編程知識和數(shù)據(jù)庫應(yīng)用知識做出一個(gè)這樣的學(xué)生信息管理系統(tǒng) 二. 需求分析 2.1系統(tǒng)概述 此系統(tǒng)提供給教職工用戶和學(xué)校管理者,教職工登陸后可以對能自己基本信息進(jìn)行查看,管理員登陸后能對教師的基本信息進(jìn)行增刪改操作。 2.2系統(tǒng)運(yùn)行環(huán)境 Java程序運(yùn)行在eclipse軟件上編譯并且運(yùn)行,數(shù)據(jù)庫用MYSQL數(shù)據(jù)庫 三.系統(tǒng)設(shè)計(jì) 3.1開發(fā)與設(shè)計(jì)的總體思想 教職工方面:教師通過自己的用戶名和密碼登錄后,進(jìn)入教師主界面,在這個(gè)主界面里,可以進(jìn)行查詢信息操作。 學(xué)校管理員方面:管理員通過自己的密碼登入后可以選擇:查詢功能、文件功能、修改功能。在查詢功能里面,可以選擇是查詢教職工簡介基本信息,還是查詢教學(xué)信息。在查詢教職工簡介信息時(shí),可以從依據(jù)不同字段,即簡介表中的不同屬性進(jìn)行查找。在查找教學(xué)信息時(shí),只能依據(jù)教師姓名進(jìn)行查找。在修改功能里面,包括對教師簡介信息表和教學(xué)表進(jìn)行增加和刪除記錄 職工檔案管理系統(tǒng) 3.2系統(tǒng)模塊結(jié)構(gòu)圖 教職工登錄 管理員登錄 教職工信息管理 教職工教學(xué)信息 幫助 教職工信息查詢 教職工信息修改 退出系統(tǒng) 教職工簡介信息 教職工教學(xué)信息 刪除簡介信息 添加簡介信息 添加教學(xué)信息 刪除教學(xué)信息 3.3數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì) 為了支持此職工檔案管理系統(tǒng),創(chuàng)建數(shù)據(jù)庫employeemanage,在這個(gè)數(shù)據(jù)庫里包含四個(gè)表:worker表,manager表,employee表和teaching表,它們的截圖如下: 在worker表中,有八個(gè)屬性列,分別為:id(職工號),wname(姓名),sex(性別),age(年齡),degree(學(xué)歷),worktime(參加工作時(shí)間),salary(工資),dept(院別)。其基本數(shù)據(jù)類型分別為:char,char,char,int,char,char,int,char. 表1 worker 在manager表中,有兩個(gè)屬性列,分別為:mname(管理員姓名),password(密碼)其基本數(shù)據(jù)類型分別為:char,char。當(dāng)管理員登錄系統(tǒng)時(shí)從此表獲取數(shù)據(jù),其截圖如下: 表2 manager 在employee表中,有兩個(gè)屬性列,分別為:wname(職工姓名),password(密碼)其基本數(shù)據(jù)類型分別為:char,char。當(dāng)教職工登錄系統(tǒng)時(shí)從此表獲取數(shù)據(jù),其截圖如下: 表3 employee 在teaching表中,有七個(gè)屬性列,分別為:id(職工號),wname(姓名),grade(年級),tmajor(教授專業(yè)),snum(學(xué)生人數(shù)),passrate(及格率),comment(教學(xué)總評)。其基本數(shù)據(jù)類型分別為:char,char,char,int,char,char,char。其截圖如下: 表4 teaching 3.4模塊設(shè)計(jì) 在整個(gè)系統(tǒng)主界面,可以選擇登錄方式,是教職工登錄還是管理員登錄。如果選擇教職工,則進(jìn)入教職工登錄界面,在這個(gè)界面上要求輸入教職工姓名和密碼。輸入后單擊“確認(rèn)登錄”按鈕,若密碼正確,則轉(zhuǎn)換到教職工教學(xué)信息查詢頁面,當(dāng)輸入教職工姓名后即可顯示該名教職工的教學(xué)信息,若密碼不正確,這提示密碼錯(cuò)誤。 如果選擇是管理員登錄,則進(jìn)入管理員登陸界面,在這個(gè)界面上輸入管理員姓名和密碼,輸入后單擊“教職工信息管理”按鈕,則進(jìn)入管理員主界面。在管理員主界面可以選擇進(jìn)行文件操作,查詢操作還是修改操作。 若要查詢教職工簡介信息,點(diǎn)擊查詢菜單項(xiàng)則進(jìn)入教職工簡介信息檢索界面,在此界面的檢索方式中選擇要檢索的數(shù)據(jù)屬性,在檢索內(nèi)容框中輸入檢索的具體信息,例如,檢索“姓名”字段時(shí),要鍵入某個(gè)教職工的姓名。輸入后,單擊“檢索”按鈕,則開始對數(shù)據(jù)庫中數(shù)據(jù)進(jìn)行查詢。如果數(shù)據(jù)庫檢索到所需信息,則生成列表顯示檢索結(jié)構(gòu),如果沒有所需信息,則頁面列表中顯示為空。 若要查詢教職工教學(xué)信息,則點(diǎn)擊教職工教學(xué)信息查詢菜單項(xiàng),進(jìn)入教學(xué)查詢界面。在此界面的文本框中輸入要查詢教學(xué)信息的教職工姓名,然后單擊檢索按鈕。若數(shù)據(jù)庫中有該教職工的教學(xué)信息,則生成列表顯示教學(xué)信息,若沒有此記錄,則列表顯示內(nèi)容為空。 如果管理員要對數(shù)據(jù)庫中進(jìn)行修改操作,則在管理員主界面上選擇修改菜單項(xiàng),在此項(xiàng)中,選擇要修改的具體內(nèi)容,總共有四項(xiàng)修改操作:添加教職工簡介信息,刪除教職工簡介信息(這兩個(gè)是對數(shù)據(jù)庫中worker表的操作),添加教職工教學(xué)信息,刪除教職工教學(xué)信息(這兩個(gè)是對數(shù)據(jù)庫中teaching表的操作)。在添加信息操作中,按照標(biāo)簽提示一次輸入要添加的記錄值,輸入完畢后,單擊“添加”按鈕,若輸入成功,則提示成功,若輸入失敗,則提示失敗。在刪除信息操作中,輸入要?jiǎng)h除信息的教職工姓名,單擊“刪除”按鈕,若刪除成功,則提示成功,若刪除失敗則提示失敗。 以上就是該職工檔案管理系統(tǒng)涉及的操作步驟。 開 始 3.5系統(tǒng)流程描述 登錄主界面 幫 助 管理員登錄 教職工登錄 輸入有誤 輸入有誤 成功 成功 No 選擇 幫助 教學(xué)信息管理界面 簡介信息查詢 Yes 教職工信息修改 退出系統(tǒng) 教職工信息查詢 刪除教職工教學(xué)信息 刪除教職工簡介信息 添加教職工教學(xué)信息 添加教職工簡介信息 職工教學(xué)信息 職工簡介信息 退出 輸入教職工 姓名 選擇檢索方 式和數(shù)據(jù) 錄入添加的簡介信息 輸入要?jiǎng)h除的教職工姓名 輸入要?jiǎng)h除的教職工姓名 錄入添加的教學(xué)信息 成功 成功 成功 成功 成功 成功 Yes 顯示教職工教學(xué)信息 顯示檢索信息 輸入有誤 輸入有誤 輸入有誤 輸入有誤 沒有任何的輸出 Insert success insert success delete success delete success 四、系統(tǒng)實(shí)現(xiàn)DBconnection類 本系統(tǒng)所編寫的程序保存在以下四個(gè)包中:connection包,first包,second包,finally包 1. connection包中的類: (1)DBconnection類:此類設(shè)置程序與數(shù)據(jù)庫的連接,通過設(shè)置驅(qū)動類型和數(shù)據(jù)源來確定要連接的數(shù)據(jù)庫。若連接成功,提示:connection success,若連接失敗,提示:connection failure DBconnection類源代碼: package connection; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import finallys.TeachQuery; public class DBconnection { public static void main(String[] args) { new DBconnection(); } public static Connection con=null; public static Connection getConnection() { try { String dbDriver="com.mysql.jdbc.Driver"; Class.forName(dbDriver); System.out.println("Driver Suceess"); } catch (ClassNotFoundException e) { System.out.println("Driver not found"); e.printStackTrace(); } try { con=DriverManager.getConnection("jdbc:mysql://localhost:3306/employeemanage","root","0703112418"); System.out.println("Connection Suceess"); } catch (SQLException e) { System.out.println("Connetion failure"); e.printStackTrace(); } return con; } public static void closeConnection() { if(con!=null) try { con.close(); System.out.println("database close success"); } catch (SQLException e) { System.out.println("close failure"); e.printStackTrace(); } } } 2. first包中的類: (1)Workerfirst類:此類中有四個(gè)方法,managerLogin,addWorker,deleteWorker, queryworker,作用分別是控制管理員登陸系統(tǒng),增加教職工基本信息,刪除學(xué)生基本信息,查詢教職工基本信息。 managerLogin()方法中,有兩個(gè)參數(shù),分別傳給select語句中的mname(管理員姓名)和password(登錄密碼),利用select語句在employee表中檢索管理員登錄信息。若存在此信息,返回true,否則返回false addWorker)方法中,有八個(gè)參數(shù),分別傳給insert語句中的id(職工號),wname(教職工姓名),age(年齡),sex(性別),degree(學(xué)歷),worktime(參加工作時(shí)間),salary(工資)和dept(院別),利用insert語句向worker教職工信息簡介表中插入記錄。若插入成功,返回true,否則返回false deleteWorker()方法中,有一個(gè)參數(shù),傳給delete語句中的wname(教職工姓名),利用delete語句,把worker表中相關(guān)教職工信息刪除。若刪除成功,返回true,否則返回false queryWorker()方法中,有兩個(gè)參數(shù),分別傳給select語句中的field(查找方式)和key(查找內(nèi)容),利用select語句,從worker表中檢索教職工簡介信息。若存在此信息,則返回一個(gè)ArrayList類的對象lis(表格),否則,異常處理 Workerfirst類源代碼: package first; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import second.Work; import connection.DBconnection; public class Workerfirst { public boolean managerLogin(String mname,String password) { DBconnection db=new DBconnection(); Connection con=db.getConnection(); boolean isfound=false; PreparedStatement pst; try { pst = con.prepareStatement("select * from manager where mname=? and password=?"); pst.setString(1, mname); pst.setString(2,password); ResultSet rs=pst.executeQuery(); if(rs.next()) isfound=true; } catch (SQLException e) { e.printStackTrace(); } System.out.println(isfound); return isfound; } public boolean addWorker(String id, String wname, String sex, int age,String degree,String worktime,int salary ,String dept) { Connection con = DBconnection.getConnection(); PreparedStatement pst; try { pst = con.prepareStatement("insert into worker values(?,?,?,?,?,?,?,?)"); pst.setString(1, id); pst.setString(2, wname); pst.setString(3, sex); pst.setInt(4, age); pst.setString(5, degree); pst.setString(6, worktime); pst.setInt(7, salary); pst.setString(8, dept); int count = pst.executeUpdate();// 返回修改的記錄數(shù) if (count == 1) return true; else return false; } catch (SQLException e) { e.printStackTrace(); } return false; } public ArrayList queryWorker(String field, String key) { ArrayList lis = new ArrayList(); Connection con = DBconnection.getConnection(); Statement stm; try { stm = con.createStatement(); String sql = "select * from worker where " + field + " like %" + key + "% "; System.out.println(sql); ResultSet rs = stm.executeQuery(sql); while (rs.next()) { Work work= new Work(rs.getString(1), rs.getString(2), rs.getString(3), rs.getInt(4), rs.getString(5),rs.getString(6),rs.getInt(7),rs.getString(8)); lis.add(work); } } catch (SQLException e) { e.printStackTrace(); } return lis; } public boolean deleteWorker(String key) { Connection con = DBconnection.getConnection(); Statement stm; try { stm = con.createStatement(); String sql = "delete from worker where wname like %" + key + "% "; System.out.println(sql); int count = stm.executeUpdate(sql); if (count == 1) return true; else return false; } catch (SQLException e) { e.printStackTrace(); } return false; } } (2)Employeefirst類:此類中有一個(gè)方法:queryEmployee(),作用是控制教職工登陸 queryEmployee()方法中,有兩個(gè)參數(shù),分別傳給select語句中的wname(教職工姓名)和password(登陸密碼),利用select語句在teacher表中檢索教師登陸信息。若存在此信息,返回true,否則返回false Employeefirst類源代碼: package first; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import connection.DBconnection; public class Employeefirst { public boolean queryEmployee(String wname,String password) { DBconnection db=new DBconnection(); Connection con=db.getConnection(); boolean isfound=false; PreparedStatement pst; try { pst = con.prepareStatement("select * from employee where wname=? and password=?"); pst.setString(1, wname); pst.setString(2,password); ResultSet rs=pst.executeQuery(); if(rs.next()) isfound=true; } catch (SQLException e) { e.printStackTrace(); } System.out.println(isfound); return isfound; } public static void main(String[] args) { } } (3)Teaching類:在該類中有四個(gè)方法queryTeaching,addTeaching,deleteTeaching 作用分別是為教職工用戶提供查詢教學(xué)信息的功能,為管理者用戶提供 詢教職工教學(xué)信息,添加教學(xué)信息,刪除教學(xué)信息功能。 queryTeaching()方法中,有一個(gè)參數(shù),傳給select語句中的wname(學(xué)生姓名),利用select語句,查詢教學(xué)信息表中的內(nèi)容。若查詢成功,則返回一個(gè)ArrayList類的對象lis(表格),否則,異常處理 addTeaching()方法中,有七個(gè)參數(shù),分別傳給insert語句中的id(職工號),wname(教職工姓名),grade(年級),tmajor(教學(xué)專業(yè)),snum(學(xué)生人數(shù)),passrate(及格率),comment(教學(xué)總評)。利用insert語句,將這些記錄寫入teaching表中。若插入成功返回true,否則返 回false deleteTeaching()方法中,有一個(gè)參數(shù),傳給delete語句中的wname(教職工姓名),利用delete語句,把steaching表中相關(guān)教職工的教學(xué)信息刪除。若刪除成功,返回 true,否則返回false Teaching類源代碼: package first; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import finallys.ManagerDD; import second.Teaching; import second.Work; import connection.DBconnection; public class Teachingfirst { public ArrayList queryTeaching(String key) { ArrayList lis = new ArrayList(); Connection con = DBconnection.getConnection(); Statement stm; try { stm = con.createStatement(); String sql = "select * from teaching where wname like %" + key + "% "; System.out.println(sql); ResultSet rs = stm.executeQuery(sql); while (rs.next()) { Teaching teach = new Teaching(rs.getString(1), rs.getString(2), rs .getString(3), rs.getString(4), rs.getInt(5),rs.getString(6),rs.getString(7)); lis.add(teach); } } catch (SQLException e) { e.printStackTrace(); } return lis; } public ArrayList queryTeach(String key) { ArrayList lis = new ArrayList(); Connection con = DBconnection.getConnection(); Statement stm; try { stm = con.createStatement(); String sql = "select * from teaching where wname like %" + ManagerDD.st1 + "% "; System.out.println(sql); ResultSet rs = stm.executeQuery(sql); while (rs.next()) { Teaching teach = new Teaching(rs.getString(1), rs.getString(2), rs .getString(3), rs.getString(4), rs.getInt(5),rs.getString(6),rs.getString(7)); lis.add(teach); } } catch (SQLException e) { e.printStackTrace(); } return lis; } public boolean addTeaching(String id, String wname, String grade, String tmajor, int snum,String passrate,String comment) { Connection con = DBconnection.getConnection(); PreparedStatement pst; try { pst = con.prepareStatement("insert into teaching values(?,?,?,?,?,?,?)"); pst.setString(1, id); pst.setString(2, wname); pst.setString(3, grade); pst.setString(4, tmajor); pst.setInt(5, snum); pst.setString(6, passrate); pst.setString(7, comment); int count = pst.executeUpdate();// 返回修改的記錄數(shù) if (count == 1) return true; else return false; } catch (SQLException e) { e.printStackTrace(); } return false; } public boolean deleteTeaching(String key) { Connection con = DBconnection.getConnection(); Statement stm; try { stm = con.createStatement(); String sql = "delete from teaching where wname like %" + key + "% "; System.out.println(sql); int count = stm.executeUpdate(sql); if (count == 1) return true; else return false; } catch (SQLException e) { e.printStackTrace(); } return false; } } 3.second包中的類: (1)Work類:此類中有八個(gè)成員變量,String id;String wname;String sex; int age;String degree;String worktime;int salary;String dept,和十六個(gè)成員方法,類中分別獲取和設(shè)置了這八個(gè)變量,即為worker表中八個(gè)屬性的屬性名,每個(gè)變量都對應(yīng)了getXXX(),setXXX()方法,還有一個(gè)構(gòu)造方法,用于在調(diào)用其對象時(shí)對成員變量賦值 Work類源代碼: package second; public class Work { String id; String wname; String sex; int age; String degree; String worktime; int salary; String dept; public String getID() { return id; } public void setID(String id) { this.id= id; } public String getWname() { return wname; } public void setWname(String wname) { this.wname = wname; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getDegree() { return degree; } public void setDegree(String degree) { this.degree = degree; } public String getWorktime() { return worktime; } public void setWorktime(String worktime) { this.worktime= worktime; } public int getSalary() { return salary; } public void setSalary(int salary) { this.salary = salary; } public String getDept() { return dept; } public void setDept(String dept) { this.dept = dept; } public Work(String id, String wname, String sex, int age,String degree,String worktime,int salary,String dept) { super(); this.id = id; this.wname = wname; this.sex = sex; this.age = age; this.degree=degree; this.worktime=worktime; this.salary=salary; this.dept = dept; } } (2)Teaching類:此類中有七個(gè)成員變量,String id;String wname;String grade;String tmajor;int snum;String passrate;String comment,和十四個(gè)成員方法,類中分別獲取和設(shè)置了這七個(gè)變量,即為teaching表中七個(gè)屬性的屬性名,每個(gè)變量都對應(yīng)了getXXX(),setXXX()方法,還有一個(gè)構(gòu)造方法,用于在調(diào)用其對象時(shí)對成員變量賦值 Teaching類源代碼: package second; public class Teaching { String id; String wname; String grade; int snum; String tmajor; String passrate; String comment; public String getID() { return id; } public void setID(String id) { this.id = id; } public String getWname() { return wname; } public void setWname(String wname) { this.wname = wname; } public String getGrade() { return grade; } public void setGrade(String grade) { this.grade= grade; } public int getSnum() { return snum; } public void setSnum(int snum) { this.snum = snum; } public String getTmajor() { return tmajor; } public void setTmajor(String tmajor) { this.tmajor = tmajor; } public String getPassRate() { return passrate; } public void setPassRate(String passrate) { this.passrate= passrate; } public String getComment() { return comment; } public void setComment(String comment) { this.comment = comment; } public Teaching(String id, String wname, String grade, String tmajor,int snum,String passrate,String comment) { super(); this.id = id; this.wname = wname; this.grade = grade; this.tmajor= tmajor; this.snum=snum; this.passrate=passrate; this.comment=comment; } } 4. finally包中的類: (1)LoginDD類:此類為登陸主界面類,在這個(gè)界面上,設(shè)置有兩個(gè)按鈕,教職工按鈕和管理員按鈕。給這兩個(gè)按鈕注冊事件addActionListener,分別在內(nèi)部類TeacherLoginActionListene和StudentLoginActionListener中的默認(rèn)方法actionPerformed()中創(chuàng)建EmployeeDD類和 ManagerDD類的對象,即打開教職工登陸界面和管理員登錄界面,并將原登陸界面關(guān)閉。 LoginDD類源代碼: package finallys; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class LoginDD extends JFrame{ JLabel l1; JButton bt1, bt2; Container cp; public LoginDD() { l1 = new JLabel("請選擇用戶類型"); bt1 = new JButton("教職工"); bt2 = new JButton("管理員"); JPanel p1 = new JPanel(); p1.setLayout(null); l1.setBounds(150, 150, 120, 40); p1.add(l1); bt1.setBounds(120, 230, 80, 30); p1.add(bt1); bt2.setBounds(220, 230, 80, 30); p1.add(bt2); bt1.addActionListener(new TeacherLoginActionListener());//注冊事件 bt2.addActionListener(new StudentLoginActionListener());//注冊事件 cp = getContentPane(); this.setBounds(200, 200, p1.getHeight(), p1.getHeight()); cp.add(p1); this.setTitle("用戶登錄界面"); this.setSize(400, 400); this.setVisible(true); this.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); } class TeacherLoginActionListener implements ActionListener{ public void actionPerformed(ActionEvent e){ new EmployeeDD(); dispose(); } } class StudentLoginActionListener implements ActionListener{ public void actionPerformed(ActionEvent e){ new ManagerDD(); dispose(); } } public static void main(String[] args) { new LoginDD(); } } 截圖如下: 圖1 用戶登錄主界面 (2) ManagerDD類:此類為管理員登陸界面,在這個(gè)界面上有兩個(gè)文本框,分別輸入管理員姓名和登錄密碼,還有兩個(gè)按鈕,登陸和退出。輸入后,從兩個(gè)文本框中獲取用戶輸入的內(nèi)容,點(diǎn)擊“登陸”按鈕時(shí),調(diào)用Workerfirst類中的managerLogin()方法驗(yàn)證是否存在該用戶。若存在,則創(chuàng)建Mainlogin類的對象,即打開教職工簡介界面進(jìn)行操作,若不存在,則提示密碼錯(cuò)誤。 ManagerDD類源代碼: package finallys; import java.awt.*; import java.awt.event.*; import javax.swing.*; import first.Workerfirst;; public class ManagerDD extends JFrame{ JLabel l1, l2; JTextField t1; JPasswordField t2; JButton bt1, bt2; Container cp; public static String st1; public String st2; public ManagerDD(){ l1 = new JLabel("管理員姓名"); l2 = new JLabel("密碼"); t1 = new JTextField(12); t2 = new JPasswordField(12); bt1 = new JButton("教職工信息管理"); bt2 = new JButton("退出"); JPanel p1 = new JPanel(); p1.setLayout(null); l1.setBounds(150, 150, 80, 40); p1.add(l1); t1.setBounds(250, 150, 80, 30); p1.add(t1); l2.setBounds(150, 190, 80, 40); p1.add(l2); t2.setBounds(250, 190, 80, 30); p1.add(t2); bt1.setBounds(150, 230, 150, 30); p1.add(bt1); bt2.setBounds(320, 230, 80, 30); p1.add(bt2); bt1.addActionListener(new LoginActionListener());//注冊事件 bt2.addActionListener(new ExitActionListener());//注冊事件 cp = getContentPane(); this.setBounds(200, 200, p1.getHeight(), p1.getHeight()); cp.add(p1); this.setTitle("管理員登錄界面"); this.setSize(400, 400); this.setVisible(true); this.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); } class LoginActionListener implements ActionListener { public void actionPerformed(ActionEvent e) { st1 = t1.getText(); st2 = t2.getText(); Workerfirst workerfirst = new Workerfirst(); boolean isSuccess = workerfirst.managerLogin(st1, st2); if (isSuccess) { new Mainlogin(); dispose(); } else JOptionPane.showMessageDialog(null, "用戶名密碼錯(cuò)誤", "提示信息", JOptionPane.INFORMATION_MESSAGE); } } class ExitActionListener implements ActionListener { public void actionPerformed(ActionEvent e) { System.exit(0); } } public static void main(String[] args) { new ManagerDD(); } } 截圖如下: 圖2 管理員登錄界面 圖3 教職工教學(xué)與簡介信息操作 (3)Managerteaching類:此類為教職工教學(xué)界面,這個(gè)界面上有一個(gè)標(biāo)簽和一個(gè)表格。標(biāo)簽中從ManagerDD類中獲取教職工登錄時(shí)使用的用戶名,顯示在標(biāo)簽中以表示以下是某某教職工的教學(xué)信息。表格中為此學(xué)生的成績。調(diào)用Teachinfirst類中的queryTeaching(),將得到的ArrayList對象lis放入Vector對象中,形成表格。 Managerteaching類源代碼: package finallys; import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.util.*; import javax.swing.event.*; import javax.swing.table.DefaultTableModel; import second.Teaching; import first.Teachingfirst;; public class Managerteaching extends JFrame{ String aa=ManagerDD.st1; JLabel selectionLabel; JPanel topPanel; Container container; JTable table; JScrollPane bookScrollPane; JPanel bott- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- Java 課程設(shè)計(jì) 教職工 檔案管理系統(tǒng)
鏈接地址:http://www.820124.com/p-9280984.html