视窗与图形使用者介面.PPT

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

第十一章 視窗與圖形使用 者介面 Windows / Graphical User Interface (GUI) JFC / AWT / Swing / Java 2D JFC (Java Foundation Class) 以AWT為基礎,擴展更多關於GUI的類別。包括AWT, Swing, Pluggable Look Feel, Accessibility, Java 2D與Grag and Drop幾個部分 AWT (Abstract Window Toolkit) Java最早用來處理視窗程式的類別 使用者介面 (Java 2 後由Swing負責) 繪圖工具 (Java 2 後由Java 2D負責) JFC / AWT / Swing / Java 2D Swing 因為以AWT完成的視窗程式,當程式較大、比較複雜時,會有執行速度慢、耗用記憶體較多的情形,所以有Swing的出現解決此類問題 Java 2D 以Graphics 2D為基礎衍生出各種專門處理關於繪圖與圖學方面工作的類別,比如影像處理(圖形灰階、旋轉、縮放…) AWT視窗工具類別 Package : java.awt AWT所有的GUI元件都繼承自Component class 而用以放置這些GUI元件的基礎視窗類別Container類別則是繼承自Component類別,而繼承Container類別的常用類別則有 Window class Panel class Java視窗程式的開發是以Frame class為基礎,Frame class繼承自window class,可以建立一個具有指令按鈕(最大化、最小化、關閉)與視窗名稱(title)的視窗 AWT : GUI元件 Component的子類別 AWT : 在視窗上 顯示文字 視窗上顯示文字有兩種方法 新增一個Panel或Label等元件,直接在上面顯示文字 將視窗當作一塊畫布直接將文字畫在視窗上 Swing視窗工具類別 Swing程式套件完全使用Java語言所撰寫的AWT套件(AWT則不完全是由Java所撰寫而成) 為了與AWT的元件有所區別,Swing的套件均以J為開頭(Jbutton, Jlabel, …) 要使用Swing的各項元件必須引入javax.swing的程式套件 Swing的GUI元件 Swing : 在視窗上放置GUI元件 Swing的視窗程式不同於AWT在於 AWT可直接以add()方法將視窗元件加進Frame中 Swing則必須先於JFrame中建構一個內容面板(contentPane) ,然後再將視窗元件加入內容面板中 元件的版面配置 Java提供的六種版面配置方式 FlowLayout 流動式版面配置 BorderLayout 邊界式版面配置 GridLayout 方格式版面配置 CardLayout 多層式版面配置 GridBagLayout 進階方格式版面配置 BoxLayout 盒子式版面配置 FlowLayout 由左而右、由上而下地排列元件 使用方法 Container c=frame1.getContentPane(); FlowLayout f1=new FlowLayout(); c.setLayout(f1); 預設排列方法 BorderLayout 將視窗分為東、西、南、北、中五個區域 使用方法 Container c=frame1.getContentPane(); BorderLayout b1=new BorderLayout(15,10); c.setLayout(b1); 設定間距 取得間距 GridLayout 將視窗分割成格子狀 使用方法 Container c=frame1.getContentPane(); GridLayout g1=new GridLayout(2,3); c.setLayout(g1); 設定間距 Container c=frame1.getContentPane(); GridLayout g1=new GridLayout(2,3,10,15); c.setLayout(g1); CardLayout 將所有元件重疊在一起,後加入的元件放置在第一個元件之後 使用方法 Container c=frame1.getContentPane(); CardLayout c1=new CardLayout(15,10); c.setLayout(c1); c.add(new JButton(元件標籤),名稱字串) 控制顯示元件項目 GridBagLayout 較為複雜的方格配置方式 將元件加入視窗容器時必須搭配GridBagConstraints物

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档