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

正文內(nèi)容

面向?qū)ο笳n程設計---工資管理系統(tǒng)-免費閱讀

2025-07-09 12:18 上一頁面

下一頁面
  

【正文】 p[2] = new Panel(myCard)。 b[2] = new Button(修改 )。//刪除模塊 Override public void init() { (gbLayout)。 GridBagLayout gbLayout = new GridBagLayout()。 import 。 import 。這些是設計思路的嚴謹 范疇的體會。 后臺數(shù)據(jù)操縱中,主要使用的是通過 hibernate訪問數(shù)據(jù)庫的, hibernate訪問數(shù)據(jù)庫還有另一種比較你麻煩的訪問方式,那就是不用注解,全部通過配置 hibernate 的 xml 文件訪問,寫起來比較麻煩。 } catch (HibernateException e) { (由于 hibernate連接和操縱數(shù)據(jù)異常,刪除失?。?! )。 sf = new AnnotationConfiguration().configure().buildSessionFactory()。 } ()。 } } 在通過 hibernate 操縱數(shù)據(jù)時的異常,我把它定義成了一個自定義異常實例,在HibernateOperate 類中時久讓它往外拋,在各個模塊中來 catch,這樣就是一個成功的自定義異常了。 } catch (IllegalAccessException e) { ()。 } catch (NumberFormatException e1) { flag = false。 } } if(!t[2].getText().equals() amp。 } 到此,通過 hibernate或者 jdbc操縱數(shù)據(jù)的方法以設計完成,下一步只要將測試類中的方法 copy到 HibernateOperate類中,對每個方法中都加上 beforeclass和 afterclass中的內(nèi)容,并且設計好引用的傳遞就可以了,因為在附件中有完整代碼,所以這里不再討論HibernateOperate類中的方法。 }catch (Exception e) { // TODO Autogenerated catch block (更新數(shù)據(jù)失敗 )。然后通過 url, username和 password取得連接就可以了,具體方法如下: Test public void testUpdateByColum(){ String sql = update user u set =8888。 ().mit()。 在按工號和姓名查詢的過中和上述方法沒有重要區(qū)別,完全是 SQL 條件的差異,這里也省略了,詳情見附件。 Session session = ()。代碼如下: BeforeClass public static void beforeclass(){ sf = new AnnotationConfiguration().configure().buildSessionFactory()。其作用是顯示hibernate執(zhí)行過程中的詳細情況,非常有必要步驟,對于查錯,測試修改非常重要的。 } 寫好各個屬性的 get和 set方法,特殊一點是在主鍵 id的 get方法前加上注解 Id和GeneratedValue,前者表示該屬性是主鍵,后者表示該屬性的數(shù)值自增類型,具體如下: Id GeneratedValue 工資管理系統(tǒng) 24 / 67 public int getId() { return id。 ( 2) 引入相關 jar包,將下載好的 hibernate、 Junit、 日志文件 和 mysql驅(qū)動類 import到該課題的工程中,具體引入的 jar包如下: ( 3)建立實體類 。 (p2)。 } }else if(()==no){ ()。 Panel p2 = new Panel()。 (new Label(刪除成功! ))。 (Center,p1)。 Panel p1 = new Panel()。功能和實現(xiàn)都非常簡單,沒有超出前面設計的范圍,故簡略說明,窗口顯示如圖 11所示。 (p2)。 (true)。 if(row0){ success = new Dialog(,修改成功 ,true)。amp。 (new Label(修改成功! ))。amp。 (Center,p1)。 ()。 Y = new Button(yes)。 ()。 Y = new Button(yes)。 } if(or==1 amp。即可。修改子容器比較簡單,里面就裝有個一子容器 select,容器 select中添加了下拉框“修改方式”、下拉框“修改項”、標簽“輸入新值”、工號輸入框、標簽“輸入新值”、新值輸入框、修改按鈕。 if(()==add) //插入數(shù)據(jù) { flag=true。當用用戶點擊增加員工按鈕時,系統(tǒng)將讀取四個輸入文本框中的內(nèi)容,在姓名不為空,三項金額為整數(shù)的情況下,系統(tǒng)將員工信息存入數(shù)據(jù)庫,并在下方的顯示文本框中打印剛增加的員工的工號、姓名和工資信息。 (L[i])。 L[1] = new Label(基礎工資 )。 (轉(zhuǎn)到這里 )。 ( 1)當用戶選擇的是查詢方式或者默認全部時,系統(tǒng)將查詢的對象定位整個員工工作表;第二個是供用戶可以選擇查詢的范圍的下拉框,這里的范圍是指工資總額在所在的范圍,比如用戶選擇 8000~10000則表示用戶選擇了工資總額在 8000~10000的員工,上下限選擇均包括端點值;第三個是排列下拉框,表示用戶選擇按什么什么數(shù)值排列,結(jié)合第四個排序下拉框的意思就是用戶選擇按什么的數(shù)值以什么的順序排列;這四個下拉框均有默認值,用戶不顯示的做任何選擇,當用戶直接點擊查詢按鈕時,系統(tǒng)將查詢?nèi)繂T工則工資信息,按工號的升序排列打印在顯示文本框。 c[2].add(按職務工資 )。 c[1].add(50008000)。 (c[i])。 這些下拉框的中的每一個選項都是任由用戶選擇的,但是選擇的項不能相互矛盾,比如選擇了按工號查詢,就不能查詢模塊的設計 Panel select: Panel id: Panel name: 顯示查詢結(jié)果: 查詢方式 查詢范圍 排列依據(jù) 排序方式 查詢按鈕 標簽(輸入 ID) 輸入框 按工號查詢 標簽(輸入姓名) 輸入框 按姓名查詢 顯示結(jié)果的文本框 工資管理系統(tǒng) 10 / 67 在輸入姓名的輸入框中輸入信息。 } 工資管理系統(tǒng) 8 / 67 圖 3 外層模塊事件處理 ( 1) 分別將查詢按鈕、儲存按鈕、修改按鈕和刪除按鈕注冊給監(jiān)聽器,并在類頭的繼承類后面加上 implements ActionListener實現(xiàn)接口 ActionListener之后,重寫接口里定義的抽象方法 public void actionPerformed(ActionEvent e)。 p[2].add(qp,查詢 )。 ( 2) 將容器 p[3]設置為 Mycard 的布局: p[3].setLayout(Mycard)。 p[1].add(new Label( ))。 b[2] = new Button(修改 )。具體過程是定義各一個四個元素的 Button類型的數(shù)組,并實例化其中每個元素。 p[0].add(tittle)。所以整體上是使用混合布局設計,這樣可以實現(xiàn)更多的界面設計樣式。這樣的布局顯然不合適,也不美觀。 ( 3)儲存功能即增加用戶的功能中,用戶不需要輸入員工工號,但必須輸入員工姓名,其他幾項均可以不輸入,基礎工資、職務工資、獎金和工資總額均被系 統(tǒng)初始化為零。其中員工工號不需要用戶輸入,存儲時,數(shù)據(jù)庫系統(tǒng)按順序自動遞增。 表 1 ID 姓名 基礎工資 職務工資 獎金 3 張三 5000 2021 3000 ?? ?? ?? ?? ?? 開發(fā)環(huán)境 Hibernate 測試工具: 注明 : ( 1) 在詳細設計中的代碼均為局部的 關鍵 代碼,完整代碼均在附錄里; ( 2) 數(shù)據(jù)庫里的信息只為了測試,與 其含義 沒有關系; ( 3) 所有模塊的模樣圖中,圓角框表示容器,直角框表示組件。 GridBagLayout 布局設計方式的使用步驟如下: ( 1) 創(chuàng)建 GridBagLayout 的對象; ( 2) 將容器的布局設置成這個對象; ( 3) 創(chuàng)建 GridBagConstraints 對象,并指定其各項屬性; ( 4) 設置 GridBagConstraints 對象和組件的關聯(lián); ( 5) 將組件加入容器中。 ( 3) 創(chuàng)建一個顯示系統(tǒng)名稱的 L abel 類型的 tittle,設置其中字體的大小和顏色,并將 Label 加入到 Panel[0]中的語句分別是: Label tittle = new Label(工資管理系統(tǒng) )。 (p[0], gbc)。 b[0].addActionListener(this)。 for(int i=0。目的是使得查詢模塊、儲存模塊、修改模塊和刪除模塊以卡片的形式顯示在四個選擇功能的按鈕下方。//修改模塊 deletePanel dp = new deletePanel()。 (p[2], gbc)。第一個叫 select,用來裝載查詢方式下拉框、查詢范圍下拉框、排列下拉框、排序下拉框和查詢按鈕;第二個容器 id,作用是當用用戶在 select容器中的查詢方式選擇為“按工號查詢”時,光標跳轉(zhuǎn)到 id容器的 id輸入框,之后,當用戶點擊“按工號查詢”按鈕時,結(jié)果顯示文本框中顯示用戶輸入的 id號即工號的員工的工資信息 ;第二個容器叫 name,作用是當用戶點擊按姓名查詢的時候,光標跳轉(zhuǎn)到提示輸入姓名的標簽的后面的輸入框中,同第二個一樣,當用戶點擊“按姓名查詢”按鈕后,所輸入姓名的員工的工作信息會顯示在下方的文本里;最下方的就用文本框了,作用上 述已經(jīng)說明了。i4。 c[1].add(查詢范圍 )。 c[2].add(排列 )。 c[3].add(降序 )。 ()。第一個是用來顯示提示性標簽的,即顯示姓名、基礎工資、職務工資、獎金、輸入對應信息,其作用是提示用戶根據(jù)提示,在對應的輸入框中輸入合法的信息;第二個 Panel就是在第一個提示標簽的下方添加相對應的輸入框,以便用戶對應輸入信息,這個 Panel的右端添加了兩個按鈕,前一個是“增加員工”,是往數(shù)據(jù)庫存數(shù)據(jù)的事件源,第二個按鈕是“清空”,用來清空全部輸入框中殘留的信息;第三個就是一個文本框,作用就是顯示新增員工的信息。i4。 (new Label())。 if(()==re) for(int i=0。 (name, basicWage, postWage, bonus)。 ( 1) 修改方式中有修改行和修改列兩種選擇,修改行是修改一行,然后選擇修改項,這種情況必須輸入工號,新值在不輸入的情況下將以 0為缺省型,但是不推薦。 } catch (NumberFormatException e2) { 工資管理系統(tǒng) 17 / 67 num=1。amp。 (Y)。amp。 (Y)。 (this)。 or==1 amp。 (colum, num, newValue)。 ()。 newValue=0){ //確認修改列 ()。 (confirm)。 confirm = new Button(確認 )。 } 刪除 模塊 設計 刪除 模塊模樣 刪除模塊模樣 如圖 10所示。 (a,result)。 工資管理系統(tǒng) 21 / 67 (new Label(確認請按 “yes”,撤銷請按 “no”))。 HibernateOperate q = new HibernateOperate()。 ()。 (p2)。 co
點擊復制文檔內(nèi)容
畢業(yè)設計相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1