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

Java圖形用戶界面編程.ppt

  • 資源ID:6359870       資源大?。?span id="dumrelt" class="font-tahoma">327.50KB        全文頁數(shù):33頁
  • 資源格式: PPT        下載積分:9.9積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要9.9積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號,方便查詢和重復(fù)下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

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

Java圖形用戶界面編程.ppt

線程 是進(jìn)程內(nèi)部單一的一個順序控制流 線程和進(jìn)程每個進(jìn)程都有獨立的代碼和數(shù)據(jù)空間 進(jìn)程上下文 進(jìn)程切換的開銷大 線程 輕量的進(jìn)程 同一類線程共享代碼和數(shù)據(jù)空間 每個線程有獨立的運行棧和程序計數(shù)器 PC 線程切換的開銷小 多線程 在同一個進(jìn)程中有多個順序流同時執(zhí)行Java的線程是通過java lang Thread類來實現(xiàn)的 每個線程都是通過某個特定Thread對象所對應(yīng)的方法run 來完成其操作的 方法run 稱為線程體 即線程的可執(zhí)行代碼 返回 多線程回顧 多線程回顧 要將一段代碼在一個新的線程上運行 該代碼應(yīng)該在一個類的run函數(shù)中 并且函數(shù)所在的類是Thread類的子類 子類要覆蓋Thread類中的run函數(shù) 在子類的run函數(shù)中調(diào)用想在新線程上運行的程序代碼 啟動一個新的線程 我們不是直接調(diào)用Thread的子類對象的run函數(shù) 而是調(diào)用Thread子類對象的start 從Thread類繼承到的 方法 Thread類對象的start方法將產(chǎn)生一個新的線程 并在該線程上運行該Thread類對象中的run方法 由于線程的代碼段在run方法中 那么該方法執(zhí)行完成后線程也就相應(yīng)的結(jié)束了 因而我們可以通過控制run方法中循環(huán)的條件來控制線程的結(jié)束 1 繼承類ThreadpublicclassMythreadextendsThread2 實現(xiàn)接口RunnablepublicclassMythreadimplementsRunnable3 上述兩種方法中都可用類Thread產(chǎn)生線程的對象Threadnewthread 4 創(chuàng)建并啟動線程newthread newThread newthread start 5 run方法是運行線程的主體 啟動線程時 由JVM直接調(diào)用publicvoidrun 6sleep方法的作用 暫停 毫秒時間的 線程的執(zhí)行 讓其它線程得到機(jī)會 sleep要丟出異常 必須捕獲 Try sleep 1000 catch InterruptedExceptione 返回 多線程回顧 第12章圖形用戶界面 GUI GraphicsUserInterface Java2平臺包括 標(biāo)準(zhǔn)版 J2SE 企業(yè)版 J2EE 和微縮版 J2ME 三個版本 J2SE J2ME和J2EE 這也就是SunONE OpenNetEnvironment 體系 J2SE就是Java2的標(biāo)準(zhǔn)版 主要用于桌面應(yīng)用軟件的編程 J2ME主要應(yīng)用于嵌入式系統(tǒng)開發(fā) 如手機(jī)和PDA的編程 J2EE是Java2的企業(yè)版 主要用于分布式的網(wǎng)絡(luò)程序的開發(fā) 如電子商務(wù)網(wǎng)站和ERP系統(tǒng) 補(bǔ)充計算機(jī)基礎(chǔ)知識 什么是C S模式 C S Client Server 客戶機(jī) 服務(wù)器 模式又稱C S結(jié)構(gòu) 是軟件系統(tǒng)體系結(jié)構(gòu)的一種 C S模式簡單地講就是基于企業(yè)內(nèi)部網(wǎng)絡(luò)的應(yīng)用系統(tǒng) 與B S Browser Server 瀏覽器 服務(wù)器 模式相比 C S模式的應(yīng)用系統(tǒng)最大的好處是不依賴企業(yè)外網(wǎng)環(huán)境 即無論企業(yè)是否能夠上網(wǎng) 都不影響應(yīng)用 什么是B S模式 B S Browser Server 瀏覽器 服務(wù)器 模式又稱B S結(jié)構(gòu) 它是隨著Internet技術(shù)的興起 對C S模式應(yīng)用的擴(kuò)展 在這種結(jié)構(gòu)下 用戶工作界面是通過IE瀏覽器來實現(xiàn)的 B S模式最大的好處是運行維護(hù)比較簡便 能實現(xiàn)不同的人員 從不同的地點 以不同的接入方式 比如LAN WAN Internet Intranet等 訪問和操作共同的數(shù)據(jù) 最大的缺點是對企業(yè)外網(wǎng)環(huán)境依賴性太強(qiáng) 由于各種原因引起企業(yè)外網(wǎng)中斷都會造成系統(tǒng)癱瘓 補(bǔ)充計算機(jī)基礎(chǔ)知識 一 B S模式的優(yōu)點和缺點B S結(jié)構(gòu)的優(yōu)點 1 具有分布性特點 可以隨時隨地進(jìn)行查詢 瀏覽等業(yè)務(wù)處理 2 業(yè)務(wù)擴(kuò)展簡單方便 通過增加網(wǎng)頁即可增加服務(wù)器功能 3 維護(hù)簡單方便 只需要改變網(wǎng)頁 即可實現(xiàn)所有用戶的同步更新 4 開發(fā)簡單 共享性強(qiáng)B S模式的缺點 1 個性化特點明顯降低 無法實現(xiàn)具有個性化的功能要求 2 操作是以鼠標(biāo)為最基本的操作方式 無法滿足快速操作的要求 3 頁面動態(tài)刷新 響應(yīng)速度明顯降低 4 無法實現(xiàn)分頁顯示 給數(shù)據(jù)庫訪問造成較大的壓力 5 功能弱化 難以實現(xiàn)傳統(tǒng)模式下的特殊功能要求 二 C S模式的優(yōu)點和缺點C S模式的優(yōu)點1 由于客戶端實現(xiàn)與服務(wù)器的直接相連 沒有中間環(huán)節(jié) 因此響應(yīng)速度快 2 操作界面漂亮 形式多樣 可以充分滿足客戶自身的個性化要求 3 C S結(jié)構(gòu)的管理信息系統(tǒng)具有較強(qiáng)的事務(wù)處理能力 能實現(xiàn)復(fù)雜的業(yè)務(wù)流程 C S模式的缺點1 需要專門的客戶端安裝程序 分布功能弱 針對點多面廣且不具備網(wǎng)絡(luò)條件的用戶群體 不能夠?qū)崿F(xiàn)快速部署安裝和配置 2 兼容性差 對于不同的開發(fā)工具 具有較大的局限性 若采用不同工具 需要重新改寫程序 3 開發(fā)成本較高 需要具有一定專業(yè)水準(zhǔn)的技術(shù)人員才能完成 補(bǔ)充計算機(jī)基礎(chǔ)知識 7 1圖形用戶界面設(shè)計基礎(chǔ) 圖形用戶界面 GraphicsUserInterface 簡稱GUI 是指以圖形的方式實現(xiàn)人與計算機(jī)之間的交互 在該界面下用戶往往只需通過單擊 雙擊 拖曳鼠標(biāo)和簡單的文字鍵入就可以輕松地操作計算機(jī)完成任務(wù) 圖形用戶界面生動形象 操作直觀簡便 一 AWT與Swing Java類庫中提供AWT AbstractWindowToolkit 抽象窗口工具集 和Swing兩套組件是Java類庫中提供的兩類來實現(xiàn)圖形用戶界面 AWT由java awt包提供 Swing由javax swing包提供 其中均包含了用于設(shè)計圖形用戶界面的各種組件 布局管理器和事件類 Swing是Java語言提供的第二代設(shè)計工具 它以AWT為基礎(chǔ) 提供了比AWT更多的特性和工具 用于建立更復(fù)雜的圖形用戶界面 現(xiàn)在常采用Swing組件來開發(fā)GUI應(yīng)用程序 1 Swing組件的體系結(jié)構(gòu) 基本組件Component 容器Container 2 Swing組件的分類 從功能上分為 容器和基本組件 容器又分為頂層容器和中間層容器 頂層容器 JFrame JDialog JApplet 用于構(gòu)造圖形用戶界面的窗口 并容納其它容器和組件 它們可以獨立存在 中間層容器 JPanel JScrollPane JToolBar等 容納其它組件 但是不能獨立存在 需要添加到其它容器中 通常用來按功能組織基本組件 基本組件 按鈕JButton 文本框JTextField等等 是圖形用戶界面的基本組成單位 不能獨立存在 必須將其添加到一定的容器中 二 容器與布局管理器 容器用于容納組件 布局管理器用來設(shè)置容器中各個組件的排列方式 1 頂層容器與窗口每一個Java的GUI程序都必須至少包含一個頂層容器組件作為窗口 Swing中最常用的頂層容器類 JFrame 用它創(chuàng)建的框架窗口可以獨立存在 并且?guī)в羞吙?標(biāo)題及用于關(guān)閉和最大化 最小化窗口的圖標(biāo)按鈕 創(chuàng)建一個框架窗口 importjavax swing publicclassJFrameDemoextendsJFrame publicJFrameDemo super JFrame窗口 setBounds 50 50 300 120 setDefaultCloseOperation EXIT ON CLOSE setVisible true publicstaticvoidmain String args JFrameDemof newJFrameDemo JFrame類常用的方法 voidsetLayout LayoutManagermanager viodadd Componentcomp voidsetBounds intx inty intwidth intheight voidsetTitle Stringtitle voidsetVisible Booleanb setDefaultCloseOperation EXIT ON CLOSE ContainergetContentPane 所列出的大部分方法也適用于其它容器和組件 2 布局管理器 布局管理器是java awt包中提供的專門用于設(shè)置容器中組件排列方式的類 常用的有FlowLayout BorderLayout和GridLayout等幾種 每一種容器都有一個默認(rèn)的布局管理器 通過setLayout方法可以改變?nèi)萜鞯牟季址绞?流式布局舉例 publicclassFlowLayDemoextendsJFrame privateJButtonmyButton1 myButton2 myButton3 myButton4 myButton5 publicFlowLayDemo FlowLayDemo類的構(gòu)造方法super 流式布局 setBounds 50 50 300 120 setLayout newFlowLayout 設(shè)置窗口為流式布局setDefaultCloseOperation EXIT ON CLOSE setVisible true myButton1 newJButton 第一個按鈕 生成按鈕對象myButton2 newJButton 第二個按鈕 myButton3 newJButton 第三個按鈕 myButton4 newJButton 第四個按鈕 myButton5 newJButton 第五個按鈕 add myButton1 添加按鈕到窗口上圖7 4 a 流式布局add myButton2 add myButton3 add myButton4 add myButton5 publicstaticvoidmain String args FlowLayDemof newFlowLayDemo 邊界布局舉例 publicclassBorLayDemoextendsJFrame privateJButtonmyButton1 myButton2 myButton3 myButton4 myButton5 publicBorLayDemo super 邊界布局 setBounds 50 50 300 120 setLayout newBorderLayout 設(shè)置窗口為邊界布局setDefaultCloseOperation EXIT ON CLOSE setVisible true myButton1 newJButton 東邊按鈕 myButton2 newJButton 南邊按鈕 myButton3 newJButton 西邊按鈕 myButton4 newJButton 北邊按鈕 myButton5 newJButton 中間按鈕 add East myButton1 添加按鈕到窗口指定方位add South myButton2 add West myButton3 add North myButton4 add Center myButton5 publicstaticvoidmain String args BorLayDemof newBorLayDemo 網(wǎng)格布局舉例 publicclassGridLayDemoextendsJFrame privateStringnames 按鈕1 按鈕2 按鈕3 按鈕4 按鈕5 按鈕6 publicGridLayDemo super 網(wǎng)格布局 setBounds 50 50 300 120 setLayout newGridLayout 3 3 設(shè)置三行三列網(wǎng)格布局setDefaultCloseOperation EXIT ON CLOSE setVisible true for inti 0 i names length i add newJButton names i 依次添加各個按鈕 publicstaticvoidmain String args GridLayDemof newGridLayDemo 一 常用Swing組件 1 JLabel 標(biāo)簽標(biāo)簽用于在窗口界面上顯示一行提示性或說明性的文字 標(biāo)簽只能顯示信息 不能用于輸入 JLabel類比較常用的方法有 StringgetText 獲取標(biāo)簽上的文字voidsetText Stringtext 設(shè)置標(biāo)簽顯示的文字為textvoidsetFont Fontf 設(shè)置標(biāo)簽文字的字體 一 常用Swing組件 2 JButton 按鈕按鈕是圖形用戶界面中最常見的組件 用來控制程序運行的方向 用戶單擊按鈕時會產(chǎn)生ActionEvent事件 計算機(jī)將相應(yīng)地執(zhí)行一系列命令完成一定功能 JButton類比較常用的方法有 voidsetText Stringtext 設(shè)置按鈕上的標(biāo)識文字為textStringgetText 獲得按鈕上的標(biāo)識文字 一 常用Swing組件 3 JTextField 文本框文本框是一個單行文本編輯框 用于接收用戶輸入的一行文字 也可以顯示一行文字 JTextField類比較常用的方法有 StringgetText 獲得文本框中的文本內(nèi)容voidsetText Stringtext 設(shè)置文本框的文本內(nèi)容 一 常用Swing組件 4 JTextArea 文本區(qū)文本區(qū)是一個多行文本編輯框 用于接收用戶輸入的多行文字 也可以顯示多行文字 當(dāng)文本區(qū)的內(nèi)容裝滿時不會自動產(chǎn)生滾動條 需要將文本區(qū)組件添加到JScrollPane 滾動面板 上才能實現(xiàn)滾動條效果 JTextArea類具有上面列出的JTextField的相同方法 另外其比較常用的方法還有 StringgetSelected 獲取被選中的文本voidappend Stringtext 在文本區(qū)尾部添加文本text 一 常用Swing組件 5 JRadioButton 單選按鈕單選按鈕只有 選中 和 未選中 兩種狀態(tài) 通常用一組單選按鈕實現(xiàn) 多選一 的功能 在java中必須使用按鈕組類 javax swing ButtonGroup 實現(xiàn)將多個單選按鈕位于同一組中 注意 ButtonGroup僅僅是一個邏輯上的組件 在Palette組件板上并不存在該組件 因此需要自行定義ButtonGroup類的對象 并調(diào)用該類的add 方法將多個JRadioButton對象一一添加到ButtonGroup類對象中 JRadioBunon類比較常用的方法有 voidsetSelected booleanb 設(shè)置一個單選按鈕的狀態(tài) b為true表明選中voidsetText Stringtext 設(shè)置單選按鈕上顯示的文字booleanisSelected 返回按鈕的狀態(tài) 如果是選中的則返回true 否則返回false 一 常用Swing組件 6 JCheckBox 復(fù)選框復(fù)選框也有 選中 和 未選中 兩種狀態(tài) 通常用一組復(fù)選框提供一組選項供用戶選擇 與單選按鈕不同的是 在一組復(fù)選框中 可以同時選中多個復(fù)選框 也可以不選中任何一個復(fù)選框 JCheckBox類比較常用的方法基本上與JRadioButton類的相同 一 常用Swing組件 7 JList 列表框列表框能夠容納并顯示一組選項 供用戶從中選擇一項或多項 但不能對其進(jìn)行編輯 與文本區(qū)相似 列表框中的內(nèi)容增多時不會自動產(chǎn)生滾動條 也需要通過JScrollPane 滾動面板 才能實現(xiàn)滾動條效果 JList類比較常用的方法有 JList 創(chuàng)建一個沒有選項的列表框JList Vectorvect 創(chuàng)建一個列表框 其中的選項由向量表vect決定JList Objectitems 創(chuàng)建一個列表框 其中的選項由對象數(shù)組items決定voidsetSelectionMode intselectionMode 設(shè)置列表框支持單選還是多選voidsetVisibleRowCount intvisibleRowCount 設(shè)置列表框中可顯示的行數(shù)ObjectgetSelectedValue 獲取被選中項的內(nèi)容intgetSelectedIndex inti 獲取被選中項的序號 從0開始 沒有選中時值為 1voidsetListData VectorlistData 設(shè)置列表框中的選項 參數(shù)是一個向量表 一 常用Swing組件 8 JComboBox 組合框組合框是向用戶提供多種選項的組件 其通常的顯示形式是右邊帶有下拉箭頭的文本框 可以在其文本框中輸人選項 也可以單擊下拉箭頭從顯示的列表中進(jìn)行選擇 默認(rèn)組合框是不能編輯的 需要通過setEditable true 設(shè)為可編輯 JComboBox類比較常用的方法有 JComboBox 建立一個無選項的組合框JComboBox Object items 創(chuàng)建一個組合框 其中的選項由對象數(shù)組items決定voidaddItem Objectobject 通過字符串類或其他類為組合框添加選項intgetSelectedIndex 獲取被選中項的序號 從0開始 沒有選中時值為 1ObjectgetSelectedItem 獲得被選中項的內(nèi)容 一 常用Swing組件 9 JScrollPane 滾動面板滾動面板是一個帶滾動條的中間層容器 通常利用它為Swing組件中的文本區(qū) JTextArea 列表 JLIst 等組件添加滾動條 具體操作方法 先從Palette組件板上選取一個JScrollPane組件 在設(shè)計區(qū)上畫出適當(dāng)大小的區(qū)域 然后再選取一個JTextArea或JLIst組件添加到該JScrollPane上 這樣文本區(qū)或列表框就會帶有滾動條了 一 常用Swing組件 10 JPanel 面板JPanel是 個無邊框的中間層容器 使用面板的目的是為了在窗口上分層次 分區(qū)域管理各種組件 適合比較復(fù)雜的GUI 一個窗口中可以添加多個JPanel對象 JPanel類的最常用的方法是add 方法和setLayout 方法 分別用于添加組件 設(shè)置面板布局 對于開發(fā)項目布局 有專業(yè)的的可視化編程工具 前臺美工負(fù)責(zé) 三 初識事件及事件處理 圖形用戶界面中人機(jī)交互的實現(xiàn)是通過組件響應(yīng)各種事件來實現(xiàn)的 事件 通俗的講是指在GUI程序系統(tǒng)中用戶按需要激發(fā)的某一動作 如按鈕單擊 鼠標(biāo)移動等事件源 事件發(fā)生的對象 如上述的按鈕 鼠標(biāo)事件處理 可以簡單理解為當(dāng)某個事件發(fā)生時需要執(zhí)行的動作 語句序列 簡單例子 首先要做的是為事件注冊相對應(yīng)的事件處理器 并制定事件 然后由事件處理器獲取后進(jìn)行相應(yīng)的事件處理 事件監(jiān)聽器事件監(jiān)聽器是監(jiān)聽所觸發(fā)事件的對象 其中包含有對事件發(fā)生后的事件處理操作 對于不同的事件 Java中也定義了所相應(yīng)的事件監(jiān)聽器接口 如下是幾個比較常用的事件監(jiān)聽器接口 ActionListener 接收操作事件的監(jiān)聽器接口 AdjustmentListener 接收調(diào)整事件的監(jiān)聽器接口 FocusListener 接收組件上的鍵盤焦點事件的監(jiān)聽器接口 InputMethodListener 接收輸入方法事件的監(jiān)聽接口 KeyListener 用于接收鍵盤事件的監(jiān)聽接口 MouseListener 接收組件上的鼠標(biāo)事件 包括按下 單擊 進(jìn)入或者離開 的監(jiān)聽器接口 MouseMotionListener 接收組件上的鼠標(biāo)移動事件的監(jiān)聽接口 MouseWheelListener 接收組件上的鼠標(biāo)滾輪事件的監(jiān)聽接口 TextListener 接收文本事件的監(jiān)聽器接口 WindowListener 接收窗口事件的監(jiān)聽接口 簡單例子 使用監(jiān)聽器 首先要定義監(jiān)聽器類 并實現(xiàn)相應(yīng)的監(jiān)聽器接口 然后要在組件上使用addXxxxListener的方式為組件添加事件監(jiān)聽 然后設(shè)置相應(yīng)的事件處理方法 當(dāng)組件中的事件觸發(fā)后 就會根據(jù)所添加的事件處理方法進(jìn)行事件處理 implementsActionListener ItemListenerjb1 addActionListener this c2 addItemListener this 簡單例子 MyMenuTestMenuBarCalcuateDemo

注意事項

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

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




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

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

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


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