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

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

《圖形用戶界面》PPT課件.ppt

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

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

《圖形用戶界面》PPT課件.ppt

1,第八章 圖形用戶界面,2,圖形用戶界面簡稱GUI(Graphics User Interface),它給用戶提供了一個直觀、方便、快捷的圖形化操作界面,就象WINDODS圖形操作界面。有了它,計算機的使用變得十分便捷。 Java提供了多種包用于設計圖形用戶界面, 如AWT和Swing等,它們的使用方法雷同。本章介紹主要介紹AWT。,3,8.1 抽象窗口工具箱AWT組件,在AWT(Abstract Window Toolkit)的概念中,窗口系統(tǒng)中所顯示的各種對象都統(tǒng)稱為“組件” (Component) 。 組件分為: 基本組件是構成圖形用戶界面的基本元素。 容器組件用來放置其它組件的組件,4,下表列出了AWT中的基本組件。,1.基本組件,5,2. 容器組件 容器組件是用來放置其它組件的容器,故稱為容器組件(Container)。用戶可以把各種組件放到容器組件中,甚至把一個容器組件放到另一個容器組件中,因為容器組件也是組件,都是Component類的子類。 AWT用Container類來定義最基本的容器,所有可以作為容器的窗口對象都是Container類或其子類的對象。 AWT提供了4個容器類: Windows類、Frame類、Dialog類、Panel類,6,框架java.awt.Frame,建立窗口是Java圖形用戶界面程序設計的第一步,一般由Frame類來完成這一功能。 Frame類用于創(chuàng)建帶有標題、菜單欄、最大化、最小化按鈕的完整的窗口。 Frame類的構造方法有: Frame() 創(chuàng)建一個不帶標題的框架 Frame(String) 創(chuàng)建一個帶標題的框架,8.2 容器組件,7,import java.awt.*; import java.awt.event.*; public class test public static void main(String args) Frame f=new Frame(“我的第一個窗口“); f.setSize(400,300);/設置窗口大小 f.setLayout(null);/設置布局模式為空 f.addWindowListener(new MyWindowAdapter(); /使得Frame能夠監(jiān)聽窗口事件 f.setVisible(true);/創(chuàng)建窗口后要調(diào)用setVisible(true)才能顯示出來 ,例:創(chuàng)建一個Frame窗口,class MyWindowAdapter extends WindowAdapter public void windowClosing(WindowEvent e) System.exit(0); /正常退出 ,8,容器組件除了Frame之外,還有面板(Panel)、對話框(Dialog)等 面板(Panel)是能在屏幕上實際顯示的組件,但必須放在Windows、Frame、Dialog等容器中才能夠顯示。 對話框是有標題條而無菜單和最小化圖標的容器組件,但它必須依附在某個窗口上(如Frame),一旦它所依附的窗口關閉了, 對話框也自動關閉 。,9,8.按鈕,按鈕是相對簡單的一種組件,它在屏幕上通常表現(xiàn)為一塊有邊界的矩形區(qū)域,上面有文字標記來說明該按鈕的功能, 按鈕由Button類來定義,其構造方法有二個: Button( ) 生成一個沒有標記的按鈕 Button(String label) 生成一個帶標記label的按鈕 設置按鈕的位置及大?。?setBounds(x,y,width,height); x:按鈕左上角的橫坐標 y:按鈕左上角的縱坐標 width:按鈕的寬度 height:按鈕的高度,10,創(chuàng)建Button后,可調(diào)用Frame對象的add方法,將組件放到窗口上。 Button類中有一系列對按鈕進行管理的方法,可以進行設置和獲取按鈕的狀態(tài),處理按鈕產(chǎn)生的事件等。常用的方法有:setLabel(String label) 設置按鈕標記,Frame f=new Frame(“我的第一個窗口“); f.setSize(400,300); f.setLayout(null); Button b=new Button(“你好!“); b.setBounds(50,50,80,55); f.add(b);,11,8.4 標簽,標簽(Label)是一種只能用來顯示單行文本的組件。 標簽在容器中的對齊方式有三種:左對齊、居中和右對齊, 用LABEL.LEFT、LABEL.CENTER、LABEL.RIGHT三個靜態(tài)常量表示,在程序中可以設置其對齊方式。 標簽類構造方法: Label( ) 生成一個空標簽 Label(String text) 生成一個帶有指定文本的標簽 Label l=new Label(“hello java“); l.setBounds(50,150,80,55); f.add(l);,12,8.5 JBuilder,JBuilder是一種很好的Java開發(fā)工具,可以方便地進行可視化開發(fā)。 下面我們使用JBuilder開發(fā)一個簡單的應用程序,在界面上顯示一個按鈕和一個標簽,點擊按鈕后,標簽顯示“HelloJava” 程序的運行方式: (1)在控制臺界面下可以運行該程序。運行Application類,注意包名 (2)在FileNewArchiveApplication下打包成可執(zhí)行jar包,雙擊即可運行 用JBuilder開發(fā)一個簡單的Applet,13,8.6 組件在容器中的布局,在以往的用戶界面中,每個控件的位置一般都是用點坐標確定的,但是在Java中,情況有所不同。由于Java程序需要運行在不同的操作系統(tǒng)、不同的屏幕設置下,用點坐標來確定位置就難以適應各種情況,因此Java使用布局管理器來進行排版。布局管理器的優(yōu)點是能根據(jù)不同的屏幕自動進行排版,缺點是控件在屏幕上的確切位置難以確定。 AWT提供了五種布局管理器: BorderLayout、 FlowLayout、GridLayout、CardLayout和GridBagLayout。,14,如果用戶不指定容器所使用的布局管理器,那么容器將使用自己缺省的布局管理器。每當容器需要改變外觀時,這些缺省的布局管理器會發(fā)揮作用。AWT提供的布局管理器各有各的長處和缺點。用戶根據(jù)不同要求,選用不同的AWT布局管理器。 1) 如果要求盡量使用所有的空間來顯示組件,可以考慮使用BorderLayout,應該將占用空間最大的組件放在中心部位。BorderLayout有五個區(qū)域:東、西、南、北、中。如果用戶擴大窗口,用戶將會看到中心區(qū)域會盡可能的擴大,而其他區(qū)域只擴大到容納組件所需空間的大小。,15,2)如果需要在緊湊的一行中以組件的自然尺寸顯示較少組件時,可以考慮使用FlowLayout。 FlowLayout將組件以它們合適的尺寸放在一行中。如果容器中的水平空間對于將所有組件放在一行中太小,那么FlowLayout將用多行顯示。 3)用戶需要在多行或多列中顯示一些同樣尺寸的組件,GridLayout最適合此情況。如果有必要的話,可以使用面板來容納組件。GridLayout將組件放置在格柵的單元空間中。每個組件占據(jù)其單元空間的所有空間,而且每個單元空間具有相同的尺寸。,16,4) CardLayout所管理的每個組件就像在紙盒里放的紙牌,在某一時刻只有最上面的一張可見。用戶可以通過指定組件的名字來選擇要顯示的組件。 下面我們用JBuilder開發(fā)一個簡單的計算器,能夠進行加、減、乘、除運算。,17,8.7 AWT中的其它類,1. Dimension類 它指定了一個矩形區(qū)域的尺寸; 2. Shape類 它包含了點、矩形和多邊形。 3. Color類 它定義了一些常量來表示常用的顏色,比如,Color.blue表示藍色。 4. Image類 提供了對圖像數(shù)據(jù)的操作途徑,18,5. Fonts類 它們用來控制文本的外觀。Font類使用戶可以獲得關于字體的信息并創(chuàng)建不同的字體對象。 6. Graphics類 Graphics類負責AWT的繪圖。 7. Event類 Event類負責AWT的事件處理。,19,8.8 事件處理,對支持圖形用戶界面的任何一種操作系統(tǒng)來說,都必須不斷監(jiān)視環(huán)境中發(fā)生的各種事件,如:鼠標移動,用戶按下了某個鍵等。隨后,每個程序都要決定對這些事件作出什么樣的響應。 當用戶在組件上作出動作時(如:在組件上單擊鼠標或按回車鍵),就創(chuàng)建了一個事件對象。,20,一個事件對象包含了以下信息: 1) id-事件的類型。如按鍵事件、單擊鼠標事件等 2) target-發(fā)生事件的對象 3) when-指出事件發(fā)生的時間 4) x, y-發(fā)生事件的坐標 5) key-鍵盤事件中被按下的鍵 6) arg-一個與事件相關的參數(shù)。 7) modifier-修飾鍵的狀態(tài)(即Alt,Ctrl鍵的狀態(tài)),21,事件處理三步驟: (1)確定事件源,如在什么組件上監(jiān)聽事件 (2)將組件的某類事件交給事件監(jiān)聽器處理。 (3)在事件監(jiān)聽器的相應事件響應函數(shù)中實現(xiàn)自己的功能。 當在組件上產(chǎn)生某類事件對象時,這個事件對象會被傳遞給上面指定的事件監(jiān)聽器,事件監(jiān)聽器接收到事件對象后,會根據(jù)事件對象內(nèi)封裝的信息,決定執(zhí)行哪個事件響應函數(shù)。,22,MouseListener主要處理鼠標是否在某個組件上、是否按下了鼠標鍵、鼠標是否離開了某個組件等事件。 MouseMotionListener主要處理鼠標是否在移動等事件。 WindowListener主要處理窗口事件,如窗口的最大化、最小化、打開、關閉等事件,一些事件監(jiān)聽器的事件響應函數(shù),23,例: 以響應窗口關閉事件為例。當點擊窗口的關閉按鈕時,會產(chǎn)生WindowClosing事件,這時必須在該事件的處理函數(shù)中調(diào)用退出函數(shù),窗口才能正常關閉,否則關閉不了。 (1)事件源為窗口本身 Frame f=new Frame(“我的第一個窗口“); (2)將窗口的窗口事件交給WindowListener監(jiān)聽器處理。 f.addWindowListener(new MyWindowAdapter(); 注意 public void addWindowListener(WindowListener l) 參數(shù)類型是WindowListener類型,而WindowListener是一個接口,只能為該函數(shù)傳遞一個實現(xiàn)了 WindowListener接口的類的對象。Java提供了一個抽象類WindowAdapter,該類實現(xiàn)了WindowListener接口,我們可以定義WindowAdapter類的一個子類MyWindowAdapter ,將該子類的對象傳遞給addWindowListener函數(shù)即可。,24,(3)在事件監(jiān)聽器的相應事件函數(shù)中實現(xiàn)自己的功能。 class MyWindowAdapter extends WindowAdapter public void windowClosing(WindowEvent e) System.exit(0); /正常退出 產(chǎn)生windowClosing事件后,系統(tǒng)會自動調(diào)用事件監(jiān)聽器的windowClosing函數(shù)。,25,import java.awt.*; import java.awt.event.*; public class test public static void main(String args) Frame f=new Frame(“我的第一個窗口“); f.setSize(400,300);/設置窗口大小 f.setLayout(null);/設置布局模式為空 f.addWindowListener(new MyWindowAdapter(); /使得Frame能夠監(jiān)聽窗口事件 f.setVisible(true);/創(chuàng)建窗口后要調(diào)用setVisible(true)才能顯示出來 ,class MyWindowAdapter extends WindowAdapter public void windowClosing(WindowEvent e) System.exit(0); /正常退出 ,完整程序,26,import java.awt.*; import java.awt.event.*; public class test public static void main(String args) Frame f=new Frame(“我的第一個窗口“); f.setSize(400,300);/設置窗口大小 f.setLayout(null);/設置布局模式為空 f.addWindowListener(new WindowAdapter() /使得Frame能夠監(jiān)聽窗口事件 public void windowClosing(WindowEvent e) /正常退出 System.exit(0); ); f.setVisible(true);/創(chuàng)建窗口后要調(diào)用setVisible(true)才能顯示出來 ,例:創(chuàng)建一個Frame窗口(方法二),創(chuàng)建了一個 匿名內(nèi)部類對象 該匿名內(nèi)部類的父類是 WindowAdapter 該匿名內(nèi)部類覆蓋了 父類的 windowClosing方法,27,例: 以在按鈕上響應點擊鼠標事件(MouseClicked)為例: (1)確定事件源 JButton jButton1 = new JButton(); (2)將按鈕的鼠標事件交給MouseListener監(jiān)聽器處理。 jButton1.addMouseListener(new MymouseAdapter(this); public void addMouseListener(MouseListener l) 參數(shù)是接口類型,Java提供了抽象類MouseAdapter,實現(xiàn)了MouseListener接口,我們只需要定義MouseAdapter類的子類,然后用該子類創(chuàng)建一個對象傳遞給addMouseListener函數(shù)。 (3)在事件監(jiān)聽器的相應事件函數(shù)中實現(xiàn)自己的功能。,28,class MymouseAdapter extends MouseAdapter private Frame1 adaptee; MymouseAdapter (Frame1 adaptee) this.adaptee = adaptee; public void mouseClicked(MouseEvent e) adaptee.jButton1_mouseClicked(e); ,29,關于ActionEvent 當我們點擊了一個按鈕、選擇了菜單中的某個項目或在文本編輯框中回車后,均會產(chǎn)生ActionEvent事件。 (1)確定事件源 Button button1 = new Button(); (2)將按鈕的ActionEvent事件交給ActionListener監(jiān)聽器處理。 button1.addActionListener(new MyFrame_button3_actionAdapter(this); public void addActionListener(ActionListener l) 我們必須定義一個類,讓這個類實現(xiàn)ActionListener接口 (3)在該類中實現(xiàn)來自ActionListener接口的actionPerformed方法。 當產(chǎn)生ActionEvent事件時,會自動調(diào)用actionPerformed方法,30,class MyFrame_button1_actionAdapter implements ActionListener private MyFrame adaptee; MyFrame_button1_actionAdapter(MyFrame adaptee) this.adaptee = adaptee; public void actionPerformed(ActionEvent e) adaptee.button1_actionPerformed(e); ,31,小結,Java提供了多種圖形用戶接口包。本章介紹了AWT中一些常用基本組件、容器,以及如何使用它們創(chuàng)建基于圖形用戶界面的應用。最后講述了事件處理機制,32,java.util包提供了隨機數(shù)類Random。 java.util.Random r1=new java.util.Random(); int data1; data1=r1.nextInt();/產(chǎn)生隨機整數(shù) 考慮:如何用隨機數(shù)類產(chǎn)生09之間的隨機整數(shù)?,補充,33,import java.util.*; class test public static void main(String args) Random r1=new Random(); int data1; data1=r1.nextInt(); if(data10)data1=data1*(-1); data1=data1%10; System.out.println(data1); ,

注意事項

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

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




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

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

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


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