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

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

GUI用戶圖形界面.ppt

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

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

GUI用戶圖形界面.ppt

GUI用戶圖形界面 GUI含義 全稱為 GraphicalUserInterface 用戶圖形界面 里面提供一些用來操作的窗口 菜單 按鈕 工具欄和其他屏幕元素 Java里有兩個(gè)包為GUI設(shè)計(jì)提供功能 AWT和Swing AWT是早期版本 不能實(shí)現(xiàn)全部GUI設(shè)計(jì)功能 Swing對其進(jìn)行改進(jìn) 不但包含原來所有的部件 還具有更加豐富的部件和功能 AWT為Swing的基礎(chǔ) 注意import語句引入 例子 創(chuàng)建一個(gè)窗口對象 向里面添加組件 演示TestFrame GUI中的眾多組件可以分為兩類 基本組件 按鈕 文本框 復(fù)選框等 這些都是java awt Component類或者其子類 容器 是一種特殊的組件 能夠容納其他組件 如窗口 對話框等 這些是java awt Container類或者其子類 Contain類是Component類的子類 演示5秒鐘之后自動關(guān)閉窗口 事件處理 當(dāng)用戶對組件進(jìn)行操作 例如拖動 按下按鈕等 這時(shí)就等于對應(yīng)用程序進(jìn)行各種操作 反過來 應(yīng)用程序也通過GUI來收集用戶對其的操作信息 當(dāng)按下按鈕對象 屬于一個(gè)事件的發(fā)生 假如想要規(guī)定該事件發(fā)生會執(zhí)行某種功能 則要編寫相應(yīng)的事件代碼 事件處理機(jī)制 事件 用戶對組件的一個(gè)操作 事件源 發(fā)生事件的組件就是事件源 事件處理器 負(fù)責(zé)處理事件的方法 1 處理事件的方法是類中的成員方法 在事件監(jiān)聽器中 監(jiān)聽器必須先與事件源相關(guān)聯(lián) 這樣在事件發(fā)生后 監(jiān)聽器中的代碼才能執(zhí)行 相關(guān)聯(lián)的這步叫做事件監(jiān)聽器的注冊 2 外部動作作用到事件源 3 事件源產(chǎn)生一個(gè)事件對象 對象中存在事件的信息4 把事件對象傳遞給事件處理器 執(zhí)行代碼 事件分類 按照產(chǎn)生事件的物理操作和GUI組件的表現(xiàn)效果可以分為 MouseEvent 該類對應(yīng)著鼠標(biāo)事件 鼠標(biāo)按下 點(diǎn)擊 按下后釋放 WindowsEvent 該類對應(yīng)窗口事件 包括點(diǎn)擊關(guān)閉按鈕 最小化最大化等 ActionEvent 動作事件 并不代表一個(gè)具體動作 如按下按鈕 菜單被單擊等都可以看做該類事件 可以理解為一個(gè)動作導(dǎo)致某個(gè)組件本身最基本的作用發(fā)生了 這就是ActionEvent事件 事件監(jiān)聽器 一個(gè)事件監(jiān)聽器對象負(fù)責(zé)處理一類事件 一類事件的每一種發(fā)生情況 分別有監(jiān)聽器對象中的一個(gè)方法來具體處理 事件源和事件監(jiān)聽器對象中進(jìn)行約束的接口類被稱為事件監(jiān)聽器接口 事件監(jiān)聽器接口類名稱與事件類名稱是相對應(yīng)的 MouseEvent MouseListener 在監(jiān)聽器接口中有很多方法 例如鼠標(biāo)在組件中單擊等方法 里面接受一個(gè)鼠標(biāo)事件類的對象 假如想要在鼠標(biāo)事件對象產(chǎn)生后執(zhí)行某功能則可以定義一個(gè)類來實(shí)現(xiàn)鼠標(biāo)事件監(jiān)聽器接口中的某個(gè)方法 然后下面寫入實(shí)現(xiàn)功能的代碼 處理事件 例子 實(shí)現(xiàn)關(guān)閉窗口的事件處理 假如像上面一樣定義一個(gè)窗口 讓其具有關(guān)閉窗口的功能 這時(shí)注意對窗口關(guān)閉事件的代碼編寫 注意 1 怎樣實(shí)現(xiàn)窗口關(guān)閉的代碼 代碼該寫在哪里2 怎樣把事件源 窗口 聯(lián)系到事件監(jiān)聽器 或者接口 3 事件監(jiān)聽器的里面的代碼又是怎樣執(zhí)行把窗口關(guān)閉的過程4 要用到事件監(jiān)聽器就要用到事件監(jiān)聽器接口 里面必須把接口的方法 里面有對窗口關(guān)閉的方法 都給實(shí)現(xiàn) 才能調(diào)用監(jiān)聽器接口中的代碼 要實(shí)現(xiàn)接口中的方法 全部 所以可以定義一個(gè)類 讓這個(gè)類實(shí)現(xiàn)接口中所有的方法 這樣就可以在接口的關(guān)閉窗口方法中來填寫實(shí)際的代碼來讓其執(zhí)行功能了 演示窗口關(guān)閉 事件適配器 剛才的例子可以看出 要想要事件實(shí)現(xiàn)代碼 那么先要注冊事件監(jiān)聽器 而且還有事件監(jiān)聽器接口與之相關(guān)聯(lián) 那么實(shí)現(xiàn)功能的方法在事件監(jiān)聽器接口里 所以要定義一個(gè)類來實(shí)現(xiàn)事件監(jiān)聽器接口 這樣才實(shí)現(xiàn)功能代碼 JDK中提供了大多數(shù)事件監(jiān)聽器接口的最簡單的實(shí)現(xiàn)類 這些稱之為事件適配器 Adapter 直接用事件適配器來處理事件 可以簡化事件監(jiān)聽器的編寫 事件適配器是與事件監(jiān)聽器接口相對應(yīng)的 假如再想實(shí)現(xiàn)事件監(jiān)聽器接口 那么可以定義一個(gè)類去繼承該接口對應(yīng)的事件適配器 這樣就可以實(shí)現(xiàn)接口了 但是畢竟事件適配器只是簡單的實(shí)現(xiàn)接口 假如需要一些其他的方法中的代碼 那么可讓一個(gè)類不但繼承適配器類 同時(shí)再定義那些其他方法來把原來適配器的這些方法覆蓋掉 這樣就能改變原來適配器定義的方法內(nèi)容了 上一個(gè)例子 點(diǎn)擊關(guān)閉按鈕就能退出 注意 定義一個(gè)類必須要實(shí)現(xiàn)事件監(jiān)聽器接口中的所有方法 但是既然有了事件適配器 而且適配器正好實(shí)現(xiàn)了接口 Window 中的7個(gè)方法 里面雖然沒有代碼 但是也叫實(shí)現(xiàn) 所以這時(shí)可以把新定義的那個(gè)類讓其繼承適配器類 其他6個(gè)方法都不用改 直接覆蓋適配器類中那個(gè)windowClosing方法 在里面寫入讓其退出的方法就可以 WindowAdapter 接收窗口事件的抽象適配器類 此類中的方法為空 此類存在的目的是方便創(chuàng)建偵聽器對象 所以自定義一個(gè)類讓其繼承WindowAdapter類 那么假如只需要關(guān)閉代碼 那么其他六個(gè)方法都已經(jīng)繼承 那么只需要改寫windowClosing方法代碼就可以 演示修改窗口關(guān)閉 使用事件適配器 靈活設(shè)計(jì)事件監(jiān)聽器類 稍微復(fù)雜 在上一個(gè)例子 事件監(jiān)聽器類MyWindowListener與產(chǎn)生組件類TestFram是兩個(gè)不同的類 事件監(jiān)聽器類中要實(shí)現(xiàn)的代碼所訪問的對象正好是事件源 假如想讓監(jiān)聽器類中的代碼訪問非事件源的組件 如何實(shí)現(xiàn) 思路 不用點(diǎn)擊窗口的關(guān)閉按鈕來關(guān)閉窗口 這時(shí)就不是觸發(fā)事件源本身的事件 而是通過添加一個(gè)按鈕組件 然后再通過點(diǎn)擊按鈕的事件來觸發(fā)窗口的關(guān)閉 注意 窗口和按鈕是兩個(gè)不同的組件 思考問題 1 事件是發(fā)生在按鈕組件上 但是退出代碼要體現(xiàn)在窗口的操作中 必須要實(shí)現(xiàn)windowClosing方法 注意 這時(shí)的事件發(fā)生的組件是按鈕 所以需要注冊的不再是Window的事件接口了 而是ActionListener 2 假如按照上面思路 定義一個(gè)類來實(shí)現(xiàn)ActionListener接口 然后再實(shí)現(xiàn)里面退出窗口的按鈕可以不 演示靈活運(yùn)行事件監(jiān)聽器 但是注意 這樣的代碼太亂 要想整齊點(diǎn) 可以把生成按鈕 注冊按鈕對應(yīng)的事件監(jiān)聽器對象的代碼都放在一個(gè)方法里 然后讓TestFrame的對象調(diào)用這個(gè)方法 演示靈活應(yīng)用事件監(jiān)聽器2 事件處理的多重運(yùn)用 用戶的一個(gè)操作 有可能觸發(fā)兩個(gè)事件的產(chǎn)生 例如 用戶用鼠標(biāo)按一個(gè)按鈕 既觸發(fā)了鼠標(biāo)事件 又觸發(fā)了按鈕本身被點(diǎn)擊的事件 所以設(shè)計(jì)思想為 程序應(yīng)該根據(jù)實(shí)際需要來編寫要實(shí)現(xiàn)的代碼 所以根據(jù)實(shí)際需要來處理其中的一個(gè)事件或者是兩個(gè)事件 想要處理兩個(gè)事件就得注冊兩個(gè)事件監(jiān)聽器對象 一個(gè)組件一個(gè)動作可以產(chǎn)生多個(gè)不同類型的事件 所以它可以注冊多個(gè)不同類型的監(jiān)聽器 一個(gè)事件監(jiān)聽器對象可以注冊到多個(gè)事件源上 等于不同的事件源發(fā)生的同一事件都由一個(gè)對象統(tǒng)一來處理 既要實(shí)現(xiàn)點(diǎn)擊按鈕會退出窗口 還要實(shí)現(xiàn)會打印出一句話 所以在按鈕上就需要注冊兩個(gè)事件監(jiān)聽器對象 一個(gè)是處理鼠標(biāo)事件 另一個(gè)是處理按鈕的Action事件 所以處理兩個(gè)監(jiān)聽器接口 實(shí)現(xiàn)里面需要編寫代碼的方法 GUI圖形操作 思考 假如想要在組件上進(jìn)行畫圖 打印文字或顯示圖像等 組件本身是否提供該方法 否 假如想要做怎么辦 注意 組件提供一個(gè)getGraphics 從Component繼承 該方法返回一個(gè)包含該組件屏幕外觀信息的Graphics類對象 該類提供在組件繪制圖形 打印文字 顯示圖像等方法 Graphics drawLine intx1 inty1 intx2 inty2 畫直線 已x1 y1坐標(biāo)開始 以x2 y2坐標(biāo)結(jié)束 Graphics drawString Stringstr intx inty 輸出一個(gè)矩形區(qū)域 里面包含String文本 矩形的左下角以 x y 坐標(biāo)開始 String文本 x y 應(yīng)用 想要在窗口中以鼠標(biāo)按下的位置作為起始點(diǎn) 鼠標(biāo)釋放的位置作為終止點(diǎn) 在把鼠標(biāo)釋放時(shí)將直線畫出 并在起始點(diǎn)和終止點(diǎn)打印出它們的坐標(biāo)值 準(zhǔn)備 1 準(zhǔn)備好一個(gè)窗口作為畫板 2 因?yàn)槭怯檬髽?biāo)點(diǎn)擊釋放來確定直線兩端的坐標(biāo)并畫直線 所以需要注冊鼠標(biāo)類的事件監(jiān)聽器 3 drawline方法為在方法里輸入x y坐標(biāo) 然后以起始點(diǎn)和終點(diǎn)畫出直線 那么本程序要求的是以鼠標(biāo)按下和釋放時(shí)鼠標(biāo)所在的位置坐標(biāo)為起始和終點(diǎn) 那么怎么把鼠標(biāo)按下和釋放時(shí)所在的坐標(biāo)給輸入到drawline方法里呢 可以在鼠標(biāo)類監(jiān)聽器接口中實(shí)現(xiàn)鼠標(biāo)點(diǎn)擊和釋放的兩個(gè)方法 當(dāng)鼠標(biāo)點(diǎn)擊時(shí) 得到x y坐標(biāo)作為起始點(diǎn) 當(dāng)鼠標(biāo)釋放時(shí) 得到這時(shí)的x y坐標(biāo) 然后把起始坐標(biāo)一起輸入到drawLine 的參數(shù)里 這樣 從兩個(gè)坐標(biāo)之間的直線就形成了 演示簡單畫直線 寫入坐標(biāo)值可以調(diào)用Graphics中的drawString方法 注意 因?yàn)樵谑髽?biāo)釋放時(shí)會產(chǎn)生直線 并且會顯示出坐標(biāo)值 那么在鼠標(biāo)釋放方法里寫入如上的代碼 演示畫坐標(biāo)直線 圖像操作 Component類 該類為GUI組件中共同父類 其為抽象類 里面定義的方法都為作為一個(gè)GUI組件所應(yīng)具備的基本功能 例如paint方法就為該類的方法 被其他具體組件類繼承 getToolkit方法等 預(yù)備 paint Graphicsg 繪制此組件的方法 是component類的子類都有的方法 當(dāng)窗口從最大化 最小化狀態(tài)還原 或者被其他窗口覆蓋 或者自己在定制一些非標(biāo)準(zhǔn)的組件 非標(biāo)準(zhǔn)為不是系統(tǒng)自帶的組件 系統(tǒng)都會自動重畫標(biāo)準(zhǔn)組件的圖形圖象 而不會自動重畫組件上設(shè)計(jì)者自己定制的圖形 一般解決辦法為重寫paint Graphics drawImage Imageimg intx inty 繪制當(dāng)前可用的指定圖像的指定區(qū)域 其中img是要顯示的圖像對象 x y是圖像顯示的左上角的坐標(biāo) 實(shí)例 想創(chuàng)建一個(gè)窗口 然后讓其顯示出一個(gè)圖像 演示圖像操作1 注意 在處理空指針異常后 程序雖然能夠正常運(yùn)行 但是圖像并沒有正常顯示出來 窗體在初始化時(shí)也會被調(diào)用paint方法 這樣drawImage 繪制的圖像為非標(biāo)準(zhǔn)組件 所以被paint 擦除了 在窗口顯示一個(gè)圖片 這個(gè)屬于自己去定制的圖片 而不是系統(tǒng)原有的標(biāo)準(zhǔn)組件 這時(shí)系統(tǒng)會自動調(diào)用paint 僅此一次 擦除自己定制的圖畫 只留下標(biāo)準(zhǔn)的組件 要想繼續(xù)保留自己定制的圖片 必須重寫paint 并且在里面寫入要畫圖片的方法代碼 這樣系統(tǒng)自動調(diào)用paint方法時(shí)就會實(shí)現(xiàn)里面顯示圖片的代碼 解決辦法 重寫paint方法 并把插入圖片的代碼寫在paint 里面 這樣調(diào)用的時(shí)候會執(zhí)行插入圖片 演示圖像操作完整 Canvas類 該類是最簡單和最基本的GUI的組件 該類對象代表一塊空白的矩形區(qū)域 程序可以在該區(qū)域進(jìn)行繪圖 還可以捕獲用戶的操作 并產(chǎn)生相應(yīng)的事件 Canvas的用法為 一般在用戶自己定制具有GUI功能的類時(shí) 可以讓該類繼承Canvas 這樣可以繼承Canvas所有功能 然后把其他功能和外觀設(shè)置所需的代碼增加就可以了 注意 在繪制自定義部件外觀時(shí) 必須要覆蓋paint方法 否則又會被組件重繪 Checkbox類 產(chǎn)生復(fù)選框和單選按鈕的類 復(fù)選框 復(fù)選框按鈕可以處于選中或不選中的狀態(tài) 它們之間沒有制約關(guān)系 可以同時(shí)選中多個(gè) 單選按鈕 也可以處于選中或不選中狀態(tài) 但是單選按鈕組只能選中一個(gè)按鈕 publicCheckbox Stringlabel booleanstate 該構(gòu)造函數(shù)創(chuàng)建的是一個(gè)復(fù)選框 label是復(fù)選框旁邊的說明文字 state是復(fù)選框是否默認(rèn)被選中 publicCheckbox Stringlabel booleanstate CheckboxGroupgroup 因?yàn)閱芜x按鈕必須是成組出現(xiàn) 所以在用該構(gòu)造函數(shù)創(chuàng)建單選按鈕組的時(shí)候就在后面加入所屬組的參數(shù) 這個(gè)也表明創(chuàng)建的是單選按鈕組 CheckboxGroup類對象指定了所屬的組 監(jiān)聽器注意事項(xiàng) 當(dāng)用戶選擇某個(gè)按鈕時(shí)會打印出不同的話演示復(fù)選框和單選按鈕 怎樣才能知道用戶選的是哪個(gè)按鈕 假如設(shè)計(jì)程序要求用戶在選中某個(gè)按鈕之后會產(chǎn)生一些功能 又該怎樣去設(shè)置 注意 在用戶選中某個(gè)按鈕時(shí)會出現(xiàn)事件 事件為ItemEvent 該監(jiān)聽器接口為ItemListener 所以要實(shí)現(xiàn)該接口里面唯一的方法 itemStateChanged 然后可以在實(shí)現(xiàn)方法時(shí)加入一些要實(shí)現(xiàn)功能的代碼 菜單 現(xiàn)實(shí)中常見的菜單 組成 菜單條 菜單 菜單項(xiàng)菜單條由頂層菜單組成 菜單項(xiàng)可以是普通菜單的下拉菜單的各項(xiàng) 生成菜單條的類為 MenuBar 生成菜單的類為 Menu 這里注意 可以把生成的菜單都加入到菜單條里 生成菜單項(xiàng)的類為 MenuItem 菜單項(xiàng)一般是最后的一級菜單 建立菜單的常規(guī)方法 首先建立MenuBar對象 然后建立Menu對象 最后產(chǎn)生MenuItem對象 添加過程 先把MenuItem對象添加到Menu對象中 然后把Menu對象添加到MenuBar中 最后把MenuBar通過Frame窗口顯示出來 注意 Menu對象可以增加到另一個(gè)Menu對象中不 因?yàn)镸enu類是MenuItem的子類 所以可以作為一個(gè)菜單項(xiàng)增加到另外一個(gè)Menu對象中 實(shí)際例子 設(shè)計(jì)一個(gè)菜單如右圖 注意 File菜單下面又包含菜單項(xiàng)New Open SaveQuit 其中Quit為復(fù)選菜單 File菜單里又包含一個(gè)菜單 為 print 其下級又有兩個(gè)菜單 Preview setting 演示 設(shè)計(jì)菜單 菜單實(shí)現(xiàn)功能 單擊菜單項(xiàng)并沒有反映 因?yàn)椴]有對ActionEvent事件進(jìn)行處理 假如要對print菜單里的兩個(gè)菜單項(xiàng)進(jìn)行動作處理 分別點(diǎn)擊兩個(gè)菜單項(xiàng)都會打印出不同的話 因?yàn)辄c(diǎn)擊菜單項(xiàng)會觸發(fā)ActionEvent 所以定義一個(gè)類實(shí)現(xiàn)ActionListener就可以 并且要實(shí)現(xiàn)ActionListener里唯一的方法 actionPerformed方法 在里面寫入觸發(fā)菜單項(xiàng)事件所執(zhí)行的代碼getActionCommend 返回與此動作相關(guān)的命令字符串 這樣可以返回菜單項(xiàng)中的字符串 然后比較并執(zhí)行代碼 演示功能菜單 布局管理器 假如在程序中 以前添加的都是一個(gè)按鈕 那么這個(gè)按鈕布滿全局 假如添加兩個(gè)按鈕會怎樣 演示簡單布局 這時(shí)注意 只顯示一個(gè)按鈕 究竟是Frame類只支持一個(gè)按鈕 其實(shí)是布局上出了問題 沒有安排好布局使得對于Frame類來說 默認(rèn)的布局管理器是BorderLayout BorderLayout把容器分成東 西 南 北 中5個(gè)區(qū)域 往窗口中添加組件的時(shí)候可以利用該默認(rèn)布局管理器進(jìn)行添加 在添加的時(shí)候?qū)懨魑恢?并且最多可以添加5個(gè) 演示默認(rèn)布局管理器 注意 1 所有按鈕添加進(jìn)去之后 調(diào)整大小 會發(fā)現(xiàn) 北與南的按鈕高度是不變的 只能改變寬度 東與西按鈕寬度不變 只能改變高度 那么假如改變大小時(shí)剩下的用中間按鈕來填補(bǔ) 2 假如不在方位中寫明方向 那么默認(rèn)的加的是Center位置 假如刪除某一個(gè)方位的按鈕 那么剩下的位置就由中間的按鈕填補(bǔ) 3 假如中間的按鈕不定義 那么位置就為空 假如定義兩個(gè)按鈕但是不寫方位的時(shí)候 都默認(rèn)加到了中心位置 所以一個(gè)會把另一個(gè)給覆蓋 FlowLayout類 流布局類定義布局風(fēng)格為 從左向右 從上到下的排列方式 假如第一行排不下 會自動換到下一行 演示FlowLayout GridLayout類 該類可以把容器劃分成平等的網(wǎng)格 無論你加入組件的大小如何 最后它都會平等的顯示在網(wǎng)格中 通過GridLayout的構(gòu)造函數(shù)可以規(guī)定列數(shù)和行數(shù) 演示 GridLayout CardLayout CardLayout類的布局管理器可以實(shí)現(xiàn)將多個(gè)組件疊放在同一容器內(nèi) 然后可以交替顯示 只能看見最上面的一個(gè) 主要方法 API文檔中 1 publicvoidprevious 翻轉(zhuǎn)到前一張卡片 里面的參數(shù)為要作用的容器 2 publicvoidnext 翻轉(zhuǎn)到下一張 3 publicvoidfirst 翻轉(zhuǎn)到第一張 4 publicvoidshow Containerparent Stringname 翻轉(zhuǎn)到指定name的卡片 Container為這些卡片所存儲的容器對象不同的撲克牌疊放在一起 按動翻頁按鈕可以不斷的查看摞在下面的撲克牌 實(shí)例 做一個(gè)如右圖的布局 實(shí)現(xiàn) 右邊疊著五張卡片 點(diǎn)擊prev就能夠翻到上一張 點(diǎn)next翻下一張 點(diǎn)Three翻到第三張 思考 1 布局問題 不規(guī)則的布局怎么辦2 按鈕問題 怎么點(diǎn)擊按鈕就會執(zhí)行翻轉(zhuǎn)到下一張卡片 演示CardLayout 1 正好符合BorderLayout布局 只不過West部分有三個(gè)按鈕 所以這時(shí)可以先把這三個(gè)按鈕加到一個(gè)容器 Panel中 然后在把Panel加到West中 2 右邊的那五張卡片也都放在一個(gè)容器Panel里 然后把Panel放在Center位置 3 注冊Action事件監(jiān)聽器接口 實(shí)現(xiàn)方法代碼 假如按動prev則使得放在Center位置的容器顯示下一張按鈕 這時(shí)該容器應(yīng)該已經(jīng)應(yīng)用了CardLayout 同樣的道理適用于next按鈕 4 有些容器對象和其他對象需要定義成成員變量 這個(gè)在剛開始是看不出 但是在程序的編寫中 根據(jù)實(shí)際需要 自然就把有些變量定義成成員變量了 Swing類 Sun公司在早期設(shè)計(jì)出java基礎(chǔ)類中的圖形用戶界面為AWT 后來在更新時(shí) 推出了第二代GUI開發(fā)工具集 其中圖形界面是Swing 與AWT相比 Swing比其更完整 Swing引入了更多組件和特性 并且增強(qiáng)了原本AWT中組件的特性和功能 原本AWT組件很多在Swing中前綴被加了J 成了Swing中被增強(qiáng)的組件 Swing包位于javax中 例如 在定義按鈕中把Button類改成JButton 把Frame改成JFrame 演示JButton

注意事項(xiàng)

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

溫馨提示:如果因?yàn)榫W(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),我們立即給予刪除!