九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

歡迎來(lái)到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁(yè) 裝配圖網(wǎng) > 資源分類(lèi) > PPT文檔下載  

圖形用戶界面與事件處理.ppt

  • 資源ID:8754971       資源大小:1.01MB        全文頁(yè)數(shù):139頁(yè)
  • 資源格式: PPT        下載積分:14.9積分
快捷下載 游客一鍵下載
會(huì)員登錄下載
微信登錄下載
三方登錄下載: 微信開(kāi)放平臺(tái)登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要14.9積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫(xiě)的郵箱或者手機(jī)號(hào),方便查詢(xún)和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號(hào):
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開(kāi),此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁(yè)到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請(qǐng)使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無(wú)水印,預(yù)覽文檔經(jīng)過(guò)壓縮,下載后原文更清晰。
5、試題試卷類(lèi)文檔,如果標(biāo)題沒(méi)有明確說(shuō)明有答案則都視為沒(méi)有答案,請(qǐng)知曉。

圖形用戶界面與事件處理.ppt

1 第13章圖形用戶界面與事件處理 Java的GUI類(lèi)簡(jiǎn)介Java事件處理布局管理器Swing組件的使用 2 13 1Java的GUI類(lèi)簡(jiǎn)介 Java有兩組GUI類(lèi) AWT AbstractWindowingToolkit 類(lèi)及改進(jìn)的Swing類(lèi) AWT類(lèi)是原始的JavaGUI類(lèi) 在java awt包中 Swing類(lèi)對(duì)AWT類(lèi)進(jìn)行了擴(kuò)充 在javax swing包中 3 13 1Java的GUI類(lèi)簡(jiǎn)介 Swing類(lèi)的名稱(chēng)與AWT類(lèi)的名稱(chēng)類(lèi)似 但其名稱(chēng)由字母J開(kāi)頭 GUI的類(lèi)層次 4 13 1Java的GUI類(lèi)簡(jiǎn)介 帶有GUI組件的框架 5 13 1Java的GUI類(lèi)簡(jiǎn)介 常用的GUI組件 1 6 13 1Java的GUI類(lèi)簡(jiǎn)介 常用的GUI組件 2 7 13 1Java的GUI類(lèi)簡(jiǎn)介 AWT類(lèi)簡(jiǎn)介要?jiǎng)?chuàng)建GUI窗口 就需要編寫(xiě)一個(gè)繼承自Frame的子類(lèi) 并進(jìn)行實(shí)例化 然后調(diào)用父類(lèi)方法setVisible使其可見(jiàn) 如果想在GUI窗口中增加一個(gè)按鈕 則可實(shí)例化Button類(lèi) 然后調(diào)用Frame子類(lèi)實(shí)例的add方法添加到窗口中 8 13 1Java的GUI類(lèi)簡(jiǎn)介 AWT類(lèi)簡(jiǎn)介定義AWTFrameWithButton類(lèi) 9 13 1Java的GUI類(lèi)簡(jiǎn)介 AWT類(lèi)簡(jiǎn)介此框架存在兩個(gè)問(wèn)題 首先 按鈕填充了整個(gè)空間 外觀有些奇怪 其次 此框架無(wú)法檢測(cè)到按鈕 單擊按鈕時(shí) 沒(méi)有任何反應(yīng) 10 13 1Java的GUI類(lèi)簡(jiǎn)介 Swing類(lèi)簡(jiǎn)介對(duì)前面的AWTFrameWithButton類(lèi)進(jìn)行修改 引入javax swing包 而不是引入java awt包 擴(kuò)充Jframe類(lèi) 而不是擴(kuò)充Frame類(lèi) 按鈕名稱(chēng)以字母J開(kāi)頭 將語(yǔ)句this add closeButton 改為this getContentPane add closeButton 11 13 1Java的GUI類(lèi)簡(jiǎn)介 Swing類(lèi)簡(jiǎn)介SwingFrameWithButton類(lèi)的定義 12 13 1Java的GUI類(lèi)簡(jiǎn)介 Swing類(lèi)簡(jiǎn)介Swing的組件和容器層次頂層容器 JFrame JDialog JApplet 其他組件都必須放在頂層容器上才能顯現(xiàn)出來(lái) 中間層容器 作用是容納其他組件 分為一般用途和特殊用途兩類(lèi) 一般用途的有JPanel JScrollPane JSplitPane JTabbedPane JToolBar五類(lèi) 特殊用途的有JInternalFrame JRootPane兩類(lèi) 13 13 1Java的GUI類(lèi)簡(jiǎn)介 Swing類(lèi)簡(jiǎn)介Swing的組件和容器層次原子組件 是在圖形用戶界面中和用戶進(jìn)行交互的組件 根據(jù)功能不同 可將其分為三類(lèi) 不可編輯信息的組件 JLabel JProgressBar JToolTip 輸入信息的組件 JButton JCheckBox JRadioButton JComboBox JTextField JList JMenu JSlider JSpinner JTexComponent等 提供格式化信息并允許用戶選擇的組件 JColorChooser JFileChooser JTable及JTree組件 14 13 1Java的GUI類(lèi)簡(jiǎn)介 三層容器舉例 15 13 1Java的GUI類(lèi)簡(jiǎn)介 三層容器舉例 16 13 2事件處理 基本概念 事件用戶與系統(tǒng)交互而產(chǎn)生的鍵盤(pán)或鼠標(biāo)動(dòng)作稱(chēng)為事件 事件除了可以由用戶單擊鼠標(biāo)等操作生成外 也可以由程序代碼或系統(tǒng)生成 不同事件的類(lèi)型由不同的類(lèi)表示 在java awt event包中定義了很多事件類(lèi) 例如 ActionEvent ItemEvent MouseEvent KeyEvent等 17 13 2事件處理 基本概念 事件源產(chǎn)生事件的組件稱(chēng)為事件源 例如 單擊按鈕產(chǎn)生的事件由ActionEvent類(lèi)表示 稱(chēng)為ActionEvent事件 按鈕就是事件源 18 13 2事件處理 基本概念 事件監(jiān)聽(tīng)器事件監(jiān)聽(tīng)器也稱(chēng)為事件監(jiān)聽(tīng)者 是當(dāng)一個(gè)事件發(fā)生時(shí)被通知的對(duì)象 它負(fù)責(zé)接收對(duì)象 并進(jìn)行處理 Java中的每種事件類(lèi)都有一個(gè)對(duì)應(yīng)的接口 稱(chēng)為事件監(jiān)聽(tīng)器接口 接口中聲明了一個(gè)或多個(gè)抽象的事件處理方法 凡是需要接收并處理事件對(duì)象的類(lèi) 都需要實(shí)現(xiàn)相應(yīng)的接口 19 13 2事件處理 基本概念 20 13 2事件處理 委托事件處理機(jī)制對(duì)于每一種要處理的事件 都要定義監(jiān)聽(tīng)類(lèi) 監(jiān)聽(tīng)器 這個(gè)監(jiān)聽(tīng)類(lèi)應(yīng)實(shí)現(xiàn)相應(yīng)的監(jiān)聽(tīng)器接口 事件源必須注冊(cè)事件監(jiān)聽(tīng)器 以便監(jiān)聽(tīng)器可以接收特定事件的通知 事件源發(fā)生的事件對(duì)象只被傳遞給已經(jīng)注冊(cè)的事件監(jiān)聽(tīng)器 21 13 2事件處理 委托事件處理機(jī)制注冊(cè)監(jiān)聽(tīng)器 RegisteringListeners 的方法如下 addActionListener ActionListeneryourListener addMouseListener MouseListeneryourListener addWindowListener WindowListeneryourListener 22 13 2事件處理 委托事件處理機(jī)制例如 要響應(yīng)Jbutton的單擊事件 則需要對(duì)此類(lèi)型的事件進(jìn)行注冊(cè) 需要調(diào)用Jbutton的addActionListener 方法 此方法需要一個(gè)參數(shù) 這個(gè)參數(shù)是實(shí)現(xiàn)了ActionListener接口的類(lèi)對(duì)象 ActionListener接口只包含一個(gè)方法 即actionPerformed方法 23 13 2事件處理 委托事件處理機(jī)制定義一個(gè)類(lèi) 如ButtonHandler類(lèi) 實(shí)現(xiàn)ActionListener接口 并在類(lèi)中實(shí)現(xiàn)接口中定義的actionPerformed方法 24 13 2事件處理 委托事件處理機(jī)制使用addActionListener 方法將ButtonHandler類(lèi)的對(duì)象注冊(cè)到按鈕上 25 13 2事件處理 委托事件處理機(jī)制 26 13 2事件處理 實(shí)現(xiàn)監(jiān)聽(tīng)器接口的方法一般可以通過(guò)以下三種方法實(shí)現(xiàn)監(jiān)聽(tīng)器接口 在已有的類(lèi)中實(shí)現(xiàn)接口 單獨(dú)定義一個(gè)類(lèi)實(shí)現(xiàn)接口 創(chuàng)建內(nèi)部類(lèi)實(shí)現(xiàn)接口 27 13 2事件處理 實(shí)現(xiàn)監(jiān)聽(tīng)器接口的方法在已有的類(lèi)中實(shí)現(xiàn)接口 28 13 2事件處理 實(shí)現(xiàn)監(jiān)聽(tīng)器接口的方法在已有的類(lèi)中實(shí)現(xiàn)接口 29 13 2事件處理 實(shí)現(xiàn)監(jiān)聽(tīng)器接口的方法單獨(dú)定義一個(gè)類(lèi)實(shí)現(xiàn)接口 30 13 2事件處理 實(shí)現(xiàn)監(jiān)聽(tīng)器接口的方法單獨(dú)定義一個(gè)類(lèi)實(shí)現(xiàn)接口 31 13 2事件處理 實(shí)現(xiàn)監(jiān)聽(tīng)器接口的方法創(chuàng)建內(nèi)部類(lèi)實(shí)現(xiàn)接口 32 13 2事件處理 處理鼠標(biāo)事件舉例編寫(xiě)程序檢測(cè)鼠標(biāo)的拖動(dòng) 即按住鼠標(biāo)鍵并同時(shí)移動(dòng)鼠標(biāo)的操作 以及鼠標(biāo)進(jìn)入和離開(kāi)窗口的情況 處理過(guò)程 因拖動(dòng)鼠標(biāo)而引發(fā)的MouseEvent事件對(duì)象可以由實(shí)現(xiàn)了MouseMotionListener接口的類(lèi)處理 MouseMotionListener接口中聲明了mouseDragged 和mouseMoved 兩個(gè)抽象方法 分別用于處理鼠標(biāo)的拖動(dòng)和移動(dòng) 33 13 2事件處理 處理鼠標(biāo)事件舉例為了處理其他鼠標(biāo)事件 必須實(shí)現(xiàn)MouseListener接口 該接口聲明了mouseEntered mouseExited mousePressed mouseReleased 和mouseClicked 五個(gè)抽象方法 34 13 2事件處理 處理鼠標(biāo)事件舉例 35 13 2事件處理 處理鼠標(biāo)事件舉例 36 13 2事件處理 處理鼠標(biāo)事件舉例 37 13 2事件處理 處理鼠標(biāo)事件舉例 38 13 2事件處理 處理鼠標(biāo)事件舉例 39 13 2事件處理 處理鼠標(biāo)事件舉例 40 13 2事件處理 擴(kuò)充適配器類(lèi)如果一個(gè)類(lèi)實(shí)現(xiàn)一個(gè)接口 就需要實(shí)現(xiàn)接口中的所有方法 為了方便 Java為那些聲明了多個(gè)方法的Listener接口提供了一個(gè)對(duì)應(yīng)的適配器 Adapter 類(lèi) 例如 MouseListener對(duì)應(yīng)的適配器類(lèi)為MouseAdapter 在適配器類(lèi)中實(shí)現(xiàn)了相應(yīng)接口中的全部方法 只是方法的內(nèi)容為空 41 13 2事件處理 擴(kuò)充適配器類(lèi)這樣 在創(chuàng)建新類(lèi)時(shí) 可以不實(shí)現(xiàn)接口 而是只繼承某個(gè)適當(dāng)?shù)倪m配器類(lèi) 并且覆蓋所關(guān)心的事件處理方法 42 13 2事件處理 使用多個(gè)GUI組件在使用多個(gè)組件時(shí) 使用事件實(shí)例的getSource 方法確定發(fā)生的事件來(lái)自哪個(gè)組件 例 編寫(xiě)具有3個(gè)按鈕的窗口 點(diǎn)擊第一個(gè)按鈕在文本框中顯示 HelloWorld 點(diǎn)擊第二個(gè)按鈕清除文本框中的內(nèi)容 點(diǎn)擊第三個(gè)按鈕則關(guān)閉窗口 43 13 2事件處理 使用多個(gè)GUI組件 44 13 2事件處理 使用多個(gè)GUI組件 45 13 2事件處理 使用多個(gè)GUI組件 46 13 2事件處理 使用多個(gè)GUI組件 47 13 2事件處理 使用多個(gè)GUI組件 48 13 2事件處理 使用多個(gè)GUI組件 49 13 3布局管理器 為了使生成的圖形用戶界面具有良好的平臺(tái)無(wú)關(guān)性 Java語(yǔ)言提供了布局管理器來(lái)管理組件在容器中的布局 而不使用直接設(shè)置組件的位置和大小的方式 本節(jié)介紹常用的布局管理器FlowLayout BorderLayout GridLayout GridBagLayout及CardLayout的使用 50 13 3布局管理器 FlowLayoutFlowLayout布局方式是將組件一排一排地依次放置 當(dāng)容器被重新設(shè)置大小后 則布局也會(huì)隨之發(fā)生改變 各組件的大小不變 但相對(duì)位置會(huì)發(fā)生變化 51 13 3布局管理器 FlowLayoutFlowLayout類(lèi)有三種構(gòu)造方法 publicFlowLayout publicFlowLayout intalign publicFlowLayout intalign inthGap intvGap 52 13 3布局管理器 FlowLayout應(yīng)用舉例 53 13 3布局管理器 FlowLayout應(yīng)用舉例 54 13 3布局管理器 FlowLayout應(yīng)用舉例 55 13 3布局管理器 BorderLayoutBorderLayout提供了更復(fù)雜的布局控制方法 它包括5個(gè)區(qū)域 North South East West和Center 當(dāng)容器的尺寸發(fā)生變化時(shí) 各組件的相對(duì)位置不變 但中間部分組件的尺寸會(huì)發(fā)生變化 南北組件的高度不變 東西組件的寬度不變 56 13 3布局管理器 BorderLayoutBorderLayout類(lèi)有以下兩個(gè)造方法 publicBorderLayout publicBorderLayout inthgap intvgap 57 13 3布局管理器 BorderLayout如果容器使用了BorderLayout布局方式 則用add 方法往容器中添加組件時(shí)必須指明添加的位置 例如 add BorderLayout SOUTH newJButton West add BorderLayout NORTH newJButton North 58 13 3布局管理器 BorderLayout舉例 59 13 3布局管理器 GridLayoutGridLayout布局方式可以使容器中的各組件呈網(wǎng)格狀分布 將容器劃分為很多行 row 和列 column 初始行和列都從0開(kāi)始 容器中各組件的高度和寬度相同 當(dāng)容器的尺寸發(fā)生變化時(shí) 各組件的相對(duì)位置不變 但各自的尺寸會(huì)發(fā)生變化 60 13 3布局管理器 GridLayoutGridLayout類(lèi)的構(gòu)造方法有 publicGridLayout introws intcolumns publicGridLayout introws intcolumns inthGap intvGap 61 13 3布局管理器 GridLayout舉例 62 13 3布局管理器 GridLayout舉例 63 13 3布局管理器 GridBagLayoutGridBagLayout將組件放置在網(wǎng)格中 這一點(diǎn)類(lèi)似于GridLayout 所不同的是 GridBagLayout不僅能設(shè)置組件擺放的位置 還能設(shè)置該組件占多少行 多少列 并可以按任意順序放置 是一種非常靈活的布局管理器 64 13 3布局管理器 GridBagLayoutGridBagConstrains對(duì)象描述組件在GridBagLayout中的放置方式 65 13 3布局管理器 GridBagLayout舉例 66 13 3布局管理器 GridBagLayout舉例 67 13 3布局管理器 GridBagLayout舉例 68 13 3布局管理器 GridBagLayout舉例 69 13 3布局管理器 GridBagLayout舉例 70 13 3布局管理器 GridBagLayout舉例 71 13 3布局管理器 CardLayoutCardLayout布局方式可以幫助用戶處理兩個(gè)或更多的組件共享同一顯示空間 共享空間的組件之間的關(guān)系就像一摞牌一樣 它們摞在一起 只有最上面的組件是可見(jiàn)的 72 13 3布局管理器 CardLayoutCardLayout類(lèi)有兩種構(gòu)造方法 publicCardLayout 組件距容器左右邊界和上下邊界的距離為缺省值0個(gè)象素 publicCardLayout inthorizontalGap intverticalGap 組件距容器左右邊界和上下邊界的距離為指定值 73 13 3布局管理器 CardLayoutCardLayout可以象換牌一樣處理這些共享空間的組件 publicvoidshow Containerparent Stringname publicvoidnext Containerparent publicvoidprevious Containerparent publicvoidfirst Containerparent publicvoidlast Containerparent 74 13 3布局管理器 CardLayout舉例 75 13 3布局管理器 CardLayout舉例 76 13 3布局管理器 CardLayout舉例 77 13 3布局管理器 CardLayout舉例 78 13 3布局管理器 CardLayout舉例 79 13 3布局管理器 CardLayout舉例 80 13 4Swing組件的使用 SwingConstant接口SwingConstant接口中定義了很多常量用來(lái)表示位置 朝向信息 這些常量都是staticint型的 Swing組件通過(guò)實(shí)現(xiàn)這個(gè)接口就可以使用它們來(lái)確定位置了 81 13 4Swing組件的使用 SwingConstant接口 82 13 4Swing組件的使用 標(biāo)簽類(lèi) JLabelJLabel類(lèi)提供的常用構(gòu)造方法 JLabel 創(chuàng)建空標(biāo)簽JLabel Stringtext 創(chuàng)建帶有文本的標(biāo)簽JLabel StringtextinthorizontalAlignment 創(chuàng)建帶有文本的標(biāo)簽 并指定其水平排列方式JLabel Iconimage 創(chuàng)建帶有圖標(biāo)的標(biāo)簽JLabel Iconimage inthorizontalAlignment 創(chuàng)建帶有圖標(biāo)的標(biāo)簽 并指定其水平排列方式 83 13 4Swing組件的使用 菜單Swing下拉菜單至少由3個(gè)類(lèi)的實(shí)例組成 JMenuBar 菜單欄 JMenu 菜單 JMenuItem 菜單項(xiàng) 84 13 4Swing組件的使用 菜單菜單欄 菜單及菜單項(xiàng)的示例 85 13 4Swing組件的使用 菜單將前面的SwingFrameAndComponent類(lèi)改寫(xiě)為SwingFrameWithMenus類(lèi) 用下拉菜單替代按鈕來(lái)顯示和清除消息及關(guān)閉窗體 86 13 4Swing組件的使用 菜單舉例 SwingFrameWithMenus類(lèi)定義 87 13 4Swing組件的使用 菜單舉例 SwingFrameWithMenus類(lèi)定義 88 13 4Swing組件的使用 菜單舉例 SwingFrameWithMenus類(lèi)定義 89 13 4Swing組件的使用 菜單舉例 SwingFrameWithMenus類(lèi)定義 90 13 4Swing組件的使用 工具欄 JToolBar 91 13 4Swing組件的使用 按鈕類(lèi)按鈕類(lèi)的繼承層次AbstractButton抽象類(lèi)是眾多按鈕類(lèi)的基類(lèi) 子類(lèi)有JButton JToggleButton JMenuItem JToggleButton表示有兩個(gè)選擇狀態(tài)的按鈕 它有兩個(gè)子類(lèi)JCheckBox JRadioButton 分別用來(lái)實(shí)現(xiàn)多選按鈕和單選按鈕 JMenuItem有三個(gè)子類(lèi)JCheckBoxMenuItem JRadioButtonMenuItem JMenu 用來(lái)在菜單中加入多選按鈕 單選按鈕和一般的菜單項(xiàng) 92 13 4Swing組件的使用 按鈕類(lèi) AbstractButton 93 13 4Swing組件的使用 按鈕類(lèi) AbstractButton 94 13 4Swing組件的使用 按鈕類(lèi) JCheckBox JRadioButtonJCheckBox JRadioButton是兩種狀態(tài)按鈕 可為用戶提供是 否或真 假選擇 用戶可以從成組使用的復(fù)選框中選擇一項(xiàng)或多項(xiàng) 但在成組使用的單選按鈕中一次只能選擇一個(gè)單選按鈕 95 13 4Swing組件的使用 按鈕類(lèi) JCheckBox JRadioButton創(chuàng)建按鈕 JCheckBox及JRadioButton的常用構(gòu)造方法JCheckBox Stringtext booleanselected JRadioButton Stringtext booleanselected 96 13 4Swing組件的使用 按鈕類(lèi) JCheckBox JRadioButton使用ButtonGroup對(duì)按鈕分組ButtonGroup的典型用途是包含單選按鈕的邏輯組 通過(guò)使用ButtonGroup的add方法 可將按鈕添加到組中 97 13 4Swing組件的使用 按鈕類(lèi) JCheckBox JRadioButton常用事件在單擊組件時(shí)發(fā)生動(dòng)作事件 當(dāng)選項(xiàng)發(fā)生改變時(shí)發(fā)生選項(xiàng)事件 處理選項(xiàng)事件的類(lèi)必須實(shí)現(xiàn)ItemListener接口 ItemListener接口中只有一個(gè)方法 VoiditemStateChanged ItemEvente 98 13 4Swing組件的使用 單選按鈕使用舉例 99 13 4Swing組件的使用 單選按鈕使用舉例 100 13 4Swing組件的使用 單選按鈕使用舉例 101 13 4Swing組件的使用 單選按鈕使用舉例 102 13 4Swing組件的使用 復(fù)選框使用舉例 103 13 4Swing組件的使用 復(fù)選框使用舉例 104 13 4Swing組件的使用 復(fù)選框使用舉例 105 13 4Swing組件的使用 復(fù)選框使用舉例 106 13 4Swing組件的使用 組合框 下拉列表框組合框JComboBox與JRadioButton類(lèi)一樣 只允許用戶在一組可能的選項(xiàng)中選擇一項(xiàng) 組合框有兩種不同的格式 默認(rèn)狀態(tài)是不可編輯的模式 包括一個(gè)按鈕和一個(gè)下拉列表 另一種是可編輯的模式 多了一個(gè)文本區(qū)域 用戶可以在此文本區(qū)域內(nèi)填入列表中不包括的內(nèi)容 107 13 4Swing組件的使用 組合框 下拉列表框創(chuàng)建一個(gè)JComboBox對(duì)象 String comboBoxItem Java C C VB Lisp Prolog JComboBoxcomboBox newJComboBox comboBoxItem 108 13 4Swing組件的使用 組合框 下拉列表框每次點(diǎn)擊JComboBox對(duì)象 選中不同于當(dāng)前選中項(xiàng)時(shí) 就會(huì)產(chǎn)生項(xiàng)事件 當(dāng)新選擇的項(xiàng)與已選擇的項(xiàng)相同時(shí) 不會(huì)產(chǎn)生項(xiàng)事件 109 13 4Swing組件的使用 組合框 下拉列表框通過(guò)調(diào)用JComboBox的getSelectedItem方法來(lái)獲得當(dāng)前選中項(xiàng) 方法的返回類(lèi)型是Object 必須將它轉(zhuǎn)換為正確的類(lèi)型 110 13 4Swing組件的使用 組合框 下拉列表框例如 項(xiàng)是String對(duì)象 則使用下面的語(yǔ)句 textField setText comboBox getSelectedItem toString 也可以調(diào)用getSelectedIndex方法來(lái)獲得已選中項(xiàng)的位置 列表中第一項(xiàng)的位置是0 111 13 4Swing組件的使用 組合框 下拉列表框舉例 112 13 4Swing組件的使用 組合框 下拉列表框舉例 113 13 4Swing組件的使用 組合框 下拉列表框舉例 114 13 4Swing組件的使用 文本Swing提供六種文本組件 還有一系列支持的類(lèi)和接口 115 13 4Swing組件的使用 文本文本組件可分為三類(lèi) 單行文本 包括JTextField JPasswordField JFormattedTextField 多行單一風(fēng)格文本 JTextArea 它可以顯示和編輯多行文本 通常用來(lái)讓用戶輸入任意長(zhǎng)度的無(wú)格式文本或顯示無(wú)格式的幫助信息 多行風(fēng)格化文本 包括JEditorPane JTextPane 可以顯示和編輯多行多種式樣的文本 甚至可以嵌入圖像或其他組件 116 13 4Swing組件的使用 文本框JTextFieldJTextField的構(gòu)造方法如下 JTextField 創(chuàng)建空的文本框 JTextField Stringtext 創(chuàng)建具有指定文本的文本框 JTextField intcolumns 創(chuàng)建具有指定列的文本框 JTextField Stringtext intcolumns 創(chuàng)建具有指定文本 指定列的文本框 117 13 4Swing組件的使用 文本框JTextFieldJTextField的常用方法 StringgetText 獲取文本框中的當(dāng)前文本 voidsetTextField Stringt 設(shè)置文本框中的當(dāng)前文本 intgetLength 返回當(dāng)前文本中的字符個(gè)數(shù) StringgetText intoffs intlen 返回給定字段所包含的文本 voidselectAll 選擇文本框中所有文本 118 13 4Swing組件的使用 文本框JTextFieldJTextField的常用方法 intgetSelectionStart 獲取文本框中選定的文本起始點(diǎn) voidsetSelectionStart intselectionStart 設(shè)置文本框中選定的文本起始點(diǎn) intgetSelectionEnd 獲取文本框中選定文本結(jié)束位置的下一個(gè)位置 voidsetSelectionEnd intselectionEnd 設(shè)置文本框中選定文本結(jié)束位置的下一個(gè)位置 119 13 4Swing組件的使用 文本框JTextFieldJTextField的常用方法 voidselect intselectionStart intselectionEnd 選擇文本框中的一部分文本 selectionStart指定被選擇文本的開(kāi)始位置 selectionEnd指定被選擇文本結(jié)束位置的下一個(gè)位置 voidsetEditable booleanb 設(shè)置是否能夠編輯文本框中的內(nèi)容 參數(shù)b的值為true表示能夠編輯 否則不能編輯 120 13 4Swing組件的使用 密碼框JPasswordField密碼框JPasswordField繼承自JTextField 是一種特殊的文本框 常用方法 char getPassword 返回包含在密碼框內(nèi)的文本 voidsetEchoChar charc 設(shè)置密碼框的回顯字符 參數(shù)c是用于屏蔽密碼框內(nèi)容的密碼字符 缺省情況下為星號(hào) 例如 如果希望在密碼框中顯示點(diǎn)號(hào) 則調(diào)用setEchoChar 方法 121 13 4Swing組件的使用 二維表Java使用JTable類(lèi)對(duì)象顯示和編輯二維表 JTable并不存儲(chǔ)數(shù)據(jù) 只是給出數(shù)據(jù)的視圖 帶有滾動(dòng)框的典型表 122 13 4Swing組件的使用 二維表有兩種方式來(lái)創(chuàng)建JTable類(lèi)對(duì)象 一種方式是直接使用JTable類(lèi)的構(gòu)造方法 另一種方式是定義自己的TableMode類(lèi)作為AbstractTableMode類(lèi)的子類(lèi) 123 13 4Swing組件的使用 二維表使用JTable類(lèi)的構(gòu)造方法創(chuàng)建二維表的步驟 1 在String數(shù)組或Vector中聲明列名StringcolumnName 書(shū)號(hào) 書(shū)名 作者 價(jià)格 或VectorcolumnName 書(shū)號(hào) 書(shū)名 作者 價(jià)格 124 13 4Swing組件的使用 二維表使用JTable類(lèi)的構(gòu)造方法創(chuàng)建二維表的步驟 2 在二維Object數(shù)組或Vector中初始化并存儲(chǔ)數(shù)據(jù)Object data 9787807310907 001 笑傲江湖 金庸 36 0 9787807310907 002 笑傲江湖 金庸 36 0 7101003044 001 史記 司馬遷 50 0 9787508619439 001 誰(shuí)動(dòng)了我的奶酪 斯賓塞 約翰遜 27 0 7020024750 001 圍城 錢(qián)鐘書(shū) 38 0 9787544253956 001 富爸爸窮爸爸 羅伯特 T 清崎 26 0 125 13 4Swing組件的使用 二維表使用JTable類(lèi)的構(gòu)造方法創(chuàng)建二維表的步驟 3 用數(shù)據(jù)和列名生成JTable類(lèi)對(duì)象 有兩個(gè)JTable方法可以直接接收數(shù)據(jù) JTable Object rowData Object columnNames JTable VectorrowData VectorcolumnNames 126 13 4Swing組件的使用 二維表使用JTable類(lèi)的構(gòu)造方法創(chuàng)建二維表的步驟 4 將表放在滾動(dòng)框中 JScrollPane類(lèi)的構(gòu)造方法帶有一個(gè)參數(shù) 此參數(shù)指向數(shù)據(jù)表對(duì)象 構(gòu)造方法將創(chuàng)建一個(gè)滾動(dòng)框作為此數(shù)據(jù)表的容器 并將數(shù)據(jù)表自動(dòng)加到此容器上 創(chuàng)建滾動(dòng)框并作為表容器的典型代碼 JScrollPanescrollPane newJScrollPane table 127 13 4Swing組件的使用 二維表舉例 128 13 4Swing組件的使用 二維表舉例 129 13 4Swing組件的使用 二維表在數(shù)據(jù)項(xiàng)上單擊鼠標(biāo)就可選中一行 按住Shift鍵并單擊鼠標(biāo) 或者在行上拖動(dòng)鼠標(biāo)就可選中連續(xù)的多行 按住Ctrl鍵并單擊鼠標(biāo)就可選中不連續(xù)的多行 在數(shù)據(jù)項(xiàng)上雙擊鼠標(biāo)就可以對(duì)數(shù)據(jù)項(xiàng)進(jìn)行修改了 130 13 4Swing組件的使用 二維表可以調(diào)用JTable setSelectionMode方法來(lái)設(shè)置選擇模式 此方法只有一個(gè)參數(shù) 此參數(shù)的值只能是javax swing ListSelectionModel中所定義的以下三個(gè)常量之一 MULTIPLE INTERVAL SELECTIONSINGLE INTERVAL SELECTIONSINGLE SELECTION 131 13 4Swing組件的使用 二維表如只允許選擇單行 則可使用下面的代碼進(jìn)行設(shè)置 table setSelectionMode ListSelectionModel SINGLE SELECTION 132 13 4Swing組件的使用 二維表缺省的情況下單擊鼠標(biāo)時(shí)選擇行 設(shè)置單擊鼠標(biāo)時(shí)選擇列 table setColumnSelectionAllowed true table setRowSelectionAllowed false 設(shè)置單擊鼠標(biāo)時(shí)選擇數(shù)據(jù)項(xiàng) 單元 table setCellSelectionEnabled true 133 13 4Swing組件的使用 二維表使用構(gòu)造方法來(lái)構(gòu)造數(shù)據(jù)表的優(yōu)點(diǎn)是易于使用 但也存在以下方面的缺點(diǎn) 數(shù)據(jù)表的每個(gè)單元自動(dòng)為可編輯 對(duì)所有的數(shù)據(jù)類(lèi)型都作為字符串對(duì)待 要求將表中的所有數(shù)據(jù)放在數(shù)組或向量中 這對(duì)于某些數(shù)據(jù)并不合適 134 13 4Swing組件的使用 二維表要突破上述限制 就需要定義AbstractTableModel類(lèi)的子類(lèi) 135 13 4Swing組件的使用 二維表 136 13 4Swing組件的使用 二維表有了MyTableMode類(lèi) 數(shù)據(jù)表的創(chuàng)建就變得很簡(jiǎn)單了 JTabletable newJTable newMyTableModel 137 13 4Swing組件的使用 二維表舉例 138 13 5本章小結(jié) 本章重點(diǎn)介紹了Swing的結(jié)構(gòu)層次 布局管理 以及如何為其編寫(xiě)事件處理程序 學(xué)習(xí)本章的重點(diǎn)在于掌握?qǐng)D形用戶界面程序的編程方法 思路 以及常用的GUI組件的使用方法 139 Thanks

注意事項(xiàng)

本文(圖形用戶界面與事件處理.ppt)為本站會(huì)員(tia****nde)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請(qǐng)重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!