使用innerclass可以简化取得GUI中其他元件的步骤.PPT

使用innerclass可以简化取得GUI中其他元件的步骤.PPT

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
使用innerclass可以简化取得GUI中其他元件的步骤

* 我們從 NetBeans 左下角區塊點選 jPanel3,然後到 NetBeans 右下角區塊中設定 ”border” 的值;我們可以從選單中選擇 ”Titled Border”,並在”Title”設定”性別” * 對jPanel4作類似的動作 * 我們在 “女性” 選擇鈕上按滑鼠右鍵,在 “Events” 內選取 “Item”?”itemStateChanged” * 完成事件處理方法 * 從功能表列選取”Run”?”Run Main Project”來執行,畫面如下: * 練習題 請利用 NetBeans 完成之前的所有視窗程式。 請仔細檢查 NetBeans 所產生的程式碼,並說明 NetBeans 的事件處理,採用的是第幾種方式? 以 itemStateChanged 為例,剛剛的範例中同樣的動作我們要重複多次,麻煩吧。怎麼解? 請比較事件處理方法的設計,我們提供的比較好?還是 NetBeans 提供的比較好? * 練習題 請利用 NetBeans 完成 HourlyWorker/SalaryWorker 的 GUI 範例。步驟: 利用 new file,依序產生 Worker、HourlyWorker 和 SalaryWorker (先利用 NetBeans 產生架構後,再將之前的程式碼,複製貼上即可) 利用 new Swing GUI Forms 完成介面設計以及事件處理程式。 * ToolTip 範例: 修改 TestPersonnel,使得在顯示”工作時數”的標籤上會顯示”請輸入該員工本月工作時數”的提示;而在”年薪”的標籤上,顯示”請輸入該員工年薪”。 * ToolTip 需要修改的部分: 第一次產生 JLabel 的物件後,就要設定 inpLabel.setToolTipText(請輸入該員工年薪); 每次選擇不同的 Worker 型態時,要設定 private class ListHandler implements ItemListener { public void itemStateChanged(ItemEvent e) { if(types.getSelectedIndex() == 1) { // 選了第二項 inpLabel.setText(工作時數); inpLabel.setToolTipText(請輸入該員工本月工作時數); } else { inpLabel.setText(年薪); inpLabel.setToolTipText(請輸入該員工年薪); } } } * 滑鼠事件 滑鼠事件是 MouseEvent,而其相對應的事件聆聽者類別是 MouseListener。 以 TestPersonnel 為例: 假設我們希望當滑鼠移到畫面上”年薪“或者”工作時數”標籤的時候,標籤內容會分別變成”最低年薪是 $100,000”或者”每月最高工作時數是 200 小時”;當滑鼠移出該標籤位置後,標籤內容又會恢復成原來的內容。 * 滑鼠事件 * 滑鼠事件 MouseListener 總共有五個抽象方法: mouseClicked(): 滑鼠 click 的時候(click 分別有一次 pressed 和 released) mousePressed(): 滑鼠按下去的時候 mouseReleased(): 滑鼠按下去後鬆開的時候 mouseEntered(): 滑鼠進入時 mouseExited(): 滑鼠移開時 依照範例的說明,我們只對後兩個有興趣,其他三個並不需要處理 但是因為他們都是抽象方法,我們還是要實作出來。 * 滑鼠事件 由 inpLabel 註冊滑鼠事件處理 inpLabel.addMouseListener(new MouseHandler()); MouseHandler 的內容如下: private class MouseHandler implements MouseListener { public void mouseClicked(MouseEvent e) {} public void mousePressed(MouseEvent e) {} public void mouseReleased(MouseEvent e) {} public void mouseEntered(MouseEvent e) { JLabel lab = (JLabel) e.getSource(); if(lab.getText().equals(年薪)) la

文档评论(0)

xiaozu + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档