freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

面向?qū)ο笳n程設(shè)計---工資管理系統(tǒng)(參考版)

2025-01-21 15:56本頁面
  

【正文】 TextField t[] = new TextField[4]。 TextField result = new TextField()。 Panel LPanel = new Panel(new GridLayout(1,5))。 GridBagLayout gbLayout = new GridBagLayout()。import 。import 。import 。import 。import 。import 。import 。 else mgg = desc。 else if(c[2].getSelectedIndex()==4) mss = bonus。 else if(c[2].getSelectedIndex()==2) mss = basicWage。 if(c[2].getSelectedIndex()==0||c[2].getSelectedIndex()==5) //選擇按什么排序 mss = id。 else if(c[1].getSelectedIndex()==5) msg = between 10000 and 20000。 else if(c[1].getSelectedIndex()==3) msg = between 5000 and 8000。 else if(c[1].getSelectedIndex()==1) msg = between 0 and 2000。 ()。 } else if(c[0].getSelectedIndex()==2){ ()。 (轉(zhuǎn)到這里)。 } } } public void itemStateChanged(ItemEvent e) { if(c[0].getSelectedIndex()==0||c[0].getSelectedIndex()==3) //選擇查詢方式 c[1].requestFocus()。 else { HibernateOperate q = new HibernateOperate()。 } }else if(()==qbName){ //按姓名查詢 String name = ()。 (a,result)。 } }else if(()==qbId){ //按工號查詢 try { int a = (())。 try { (msg,mss,mgg,result)。 (true)。 (result, gbc)。 (name, gbc)。 (id, gbc)。 //將gridbagconstraints對象與組建相聯(lián)系 = new Insets(10,1,1,1)。 = 。 (6)。 (qbName)。 (new Label())。 (new Label(輸入姓名:))。 (new Label())。 (inputId)。 c[3].add(默認(rèn)升序)。 c[3].add(升序)。 c[2].add(默認(rèn)按工號)。 c[2].add(按職務(wù)工資)。 c[2].add(按工資總額)。 c[1].add(默認(rèn)全部)。 c[1].add(1000020000)。 c[1].add(50008000)。 c[1].add(02000)。 c[0].add(默認(rèn)是全部)。 c[0].add(按工號)。 (c[i])。i++) { c[i] = new Choice()。 for(int i=0。 (this)。 QueryPanel(){ (gbLayout)。 Button qbName = new Button(按姓名查詢)。 Button qb = new Button(查 詢)。 TextField inputName = new TextField()。 TextArea result = new TextArea()。 Panel id = new Panel(new GridLayout(1,4))。 GridBagConstraints gbc = new GridBagConstraints()。public class QueryPanel extends Applet implements ActionListener,ItemListener{ private static final long serialVersionUID = 1L。import 。import 。import 。import 。import 。import 。import 。import 。 }}附錄2 查詢模塊源碼package 。 add(p[2])。 = new Insets(20,4,4,4)。 (p[1], gbc)。 //將gridbagconstraints對象與組建相聯(lián)系 add(p[0])。//橫向可擴展 = 。 //將按鈕分開 } = 。i++){ p[1].add(b[i])。 for(int i=0。 p[2].add(up,修改)。 p[2].add(qp,查詢)。 p[2] = new Panel(myCard)。 p[0].add(tittle)。 p[0] = new Panel(new GridLayout(1,1))。 b[3] = new Button(刪除)。 b[2] = new Button(修改)。//注冊監(jiān)聽 b[1] = new Button(儲存)。 b[0] = new Button(查詢)。 (new Font(Serif,50,50))。//刪除模塊 Override public void init() { (gbLayout)。//增加用戶模塊 UpdatePanel up = new UpdatePanel()。 QueryPanel qp = new QueryPanel()。 CardLayout myCard = new CardLayout()。 GridBagLayout gbLayout = new GridBagLayout()。 Label tittle = new Label(工資管理系統(tǒng))。import 。import 。import 。import 。import 。import 。import 。7 用戶使用說明書(1) 運行叫MyApplet的類;(2) 在第一排四個按鈕中選擇將要進行的操作;(3) 查詢操作時,選擇按工號查詢則必須輸入工號;選擇按姓名查詢則必須輸入姓名,其他查詢中的選項任由用戶選擇;(4) 增加員工時,員工工號由系統(tǒng)給出,無需輸,但是必須輸入員工姓名,其他項非必填項;(5) 進行修改操作時,系統(tǒng)彈出是否確認(rèn)修改,在系統(tǒng)提示修改成功時才表明修改成功,都則失??;(6) 進行刪除操作時,系統(tǒng)將用戶將要刪除的員工信息打印在下方文本框中,請確認(rèn)后選擇是否刪除;(7) 關(guān)閉系統(tǒng)時,請點擊窗口右上角的“X”。測試類的應(yīng)用,在寫一個比較大的項目時,測試類非常有用,并且應(yīng)配置日志文件,打印sql語句。通過查閱官方給出的一手文檔,可以更清楚的指導(dǎo)其運行機制學(xué)到更多的新知識。這些是設(shè)計思路的嚴(yán)謹(jǐn)范疇的體會。當(dāng)修改員工信息時,一定要確認(rèn)才能修改,以避免誤改的可能。在增加員工的子模塊中,如果增加成功,系統(tǒng)會將增加的那個員工的信息打印出來,每個這樣讓每個員工都知道自己的工號。 體會在圖形界面設(shè)計中,使用了系統(tǒng)里提供的多種圖形常用類,通過查閱相關(guān)書籍和查閱sun公司給出的api,加深了對gui編程這一塊的掌握程度,比如其中的布局設(shè)計、監(jiān)聽器、事件處理等。后臺數(shù)據(jù)操縱中,主要使用的是通過hibernate訪問數(shù)據(jù)庫的,hibernate訪問數(shù)據(jù)庫還有另一種比較你麻煩的訪問方式,那就是不用注解,全部通過配置hibernate的xml文件訪問,寫起來比較麻煩。子模塊以卡片的形式在主模塊中,這樣不至于所有的操作接賣弄都擠在一起。 }6 總結(jié)與體會 總結(jié)本課程設(shè)計重點分為兩個方面,一是圖形界面的設(shè)計,主要包括界面圖形的設(shè)計、監(jiān)聽器的使用、事件處理;二是后臺數(shù)據(jù)操作,主要包括數(shù)據(jù)庫的連接、hibernate的基礎(chǔ)配置、增刪改查操作、異常處理。 ()。 } catch (HibernateException e) { (由于hibernate連接和操縱數(shù)據(jù)異常,刪除失敗?。?。 ().mit()。 (()+ 已經(jīng)刪除)。 try { ()。 sf = new AnnotationConfiguration().configure().buildSessionFactory()。就如上述的這種用法。 } catch (UserException e1) { (())。 }在QueryPanel中來catch HibernateOperate q = new HibernateOperate()。 } ()。 ()。 IteratorUser users = (from User u where (++) +msg+ order by +mss+ +mgg).list().iterator() 。 Session session = ()。 }}在通過hibernate操縱數(shù)據(jù)時的異常,我把它定義成了一個自定義異常實例,在HibernateOperate類中時久讓它往外拋,在各個模塊中來catch,這樣就是一個成功的自定義異常了。 UserException(){ super()。 } 自定義異常首先得自己新建一個異常類,必須繼承與系統(tǒng)已有的異常類,為了方便直觀,我重寫了父類的toString方法。 } catch (SQLException e) { ()。 } catch (IllegalAccessException e) { ()。 } 數(shù)據(jù)操縱異常修改和刪除中均有用到工號,但是處理方法完全一樣,所以修改和刪除中的異常不再贅述。 (a,result)。 } }在查詢時,當(dāng)用戶輸入的工號不合法時也是同樣的處理方式,如: try { int a = (())。 } catch (NumberFormatException e1) { flag = false。amp。 (您輸入的職務(wù)工資有誤!)。 flag){ try { postWage = (t[2].getText())。 } } if(!t[2].getText().equals() amp。 } catch (NumberFormatException e1) { flag = false。amp。 分析該課程設(shè)計的異常主要出現(xiàn)在輸入檢驗、連接數(shù)據(jù)庫和數(shù)據(jù)操縱這兩個地方。 } 到此,通過hibernate或者jdbc操縱數(shù)據(jù)的方法以設(shè)計完成,下一步只要將測試類中的方法copy到HibernateOperate類中,對每個方法中都加上beforeclass和afterclass中的內(nèi)容,并且設(shè)計好引用的傳遞就可以了,因為在附件中有完整代碼,所以這里不再討論HibernateOperate類中的方法。 ().mit()。 User u = (User)(,5)。具體方法如下: Test public void testDeleteById(){ //按工號刪除 Session session = ()。 }catch (Exception e) { // TODO Autogenerated catch block (更新數(shù)據(jù)失敗)。 ()。 int row = ()。 Connection = (jdbc:mysql://localhost:3306/coursedesign,root,root)。然后通過url,username和password取得連接就可以了,具體方法如下: Test public void testUpdateByColum(){ String sql = update user u set =8888。configure build path選擇libraries的對話框中點擊add external —點擊ok就行。但是哎更新所以記錄的某一列時,hibernate會將這個數(shù)據(jù)表都load到內(nèi)存中,然后在內(nèi)存中逐條修改,這樣執(zhí)行耗資源的同時,效率太低,還不如返回去用jdbc
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1