- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第14章圖形介面swing
第14章 圖形介面Swing Java 2 程式設計入門與應用 目錄 14-1 Swing的簡介 14-2 Swing的視窗元件 14-3 Swing的繪圖與選擇視窗 溫故知新 自我突破習題 14-1 Swing的簡介 14-1.1 Swing的架構 14-1.2 JComponent類別的函式 前言: 由於AWT在不同平台下執行有問題,而且缺乏一些基礎的元件來設計較複雜的圖形使用者介面,因此衍生出Java 基礎類別(Java Foundation Classes,簡稱JFC)取代並包含AWT,主要的部分稱為「Swing」。 14-1.1 Swing的架構 因為Swing是繼承自AWT,所以其元件仍然保有原本AWT元件的功能,為了區分Swing元件與AWT元件的名稱,在每一種Swing元件的前面都加上一個大寫字母“J”,例如:JFrame、JButton、JLabel、JList、JCheckbox、JMenuBar等元件。 Swing的繼承圖: Swing套件的相關元件皆定義在javax.swing類別庫中,其中大部分的元件都是JComponent的子類別,下面為Swing的繼承圖: 下面為Swing繼承圖的說明: 從上面的繼承圖可以得知,Swing的元件都是繼承自AWT的Container類別,所以仍然可使用AWT元件的成員、版面配置、傾聽者類別、轉接器類別與事件函式。 在本章只介紹Swing元件新增的功能,繼承自AWT的函式請參考第13章。 Swing視窗元件常見的事件處理類別整理如下: 下表兩種事件是Swing類別所新增的: 上面的事件處理類別幾乎都是第13章介紹過的,所以用法相同,只有下面兩種事件是Swing類別所新增的,這兩種事件類別都只有傾聽者,沒有轉接器可以使用: 在程式中處理上面兩種事件時,必須要載入javax.swing.event,才可以執行程式。 14-1.2 JComponent類別的函式 利用JComponent類別的函式可以設定子物件的許多屬性,例如:背景顏色、邊框樣式、字型與提示文字等。 下面是JComponent類別常見的函式: 下面是Swing套件的BorderFactory類別中建立Border物件的函式: 上面函式中出現的Border物件,可以利用Swing套件的BorderFactory類別來建立,下面是該類別中建立Border物件的函式: 例如下面的程式碼,建立一個邊框樣式為凸起的按鈕: 14-2 Swing的視窗元件 14-2.1 視窗元件JFrame 14-2.2 基本元件與文字元件 14-2.3 選擇元件 14-2.4 捲軸元件與滑動軸元件 14-2.5 對話方塊元件 14-2.6 功能表選單與工具列元件 前言: Swing元件的用法與AWT大同小異,差別在於利用Swing撰寫的視窗程式外觀與AWT的不同,除了視窗預設背景顏色為淺灰色,視窗中的元件外觀也會顯得較柔和化。 14-2.1 視窗元件JFrame 下面是JFrame類別常見的函式: 例如下面的程式碼: 上述程式碼分析如下: 第8行建立圖片物件img,然後在第9行設定視窗標題的圖示為img,則執行程式後,視窗左上角的圖示會從預設的 變成 。 在AWT中必須處理WindowEvent事件函式,才可以點選視窗右上角的 關閉鈕關閉視窗。而Swing只要利用setDefaultCloseOperation函式就可以將視窗關閉,並釋放視窗的記憶體空間(第10行)。 完成後,執行程式的畫面顯示如下: 14-2.2 基本元件與文字元件 在視窗程式中常用的基本元件,不外乎就是按鈕元件JButton與標籤元件JLabel,以及JTextField、JPasswordField與JTextArea等文字元件。 下面是基本類別常見的函式-1: 下面是基本類別常見的函式-2: 下面是基本類別常見的函式-3: 下面是基本類別常見的函式-4: 下面是基本類別常見的函式-5: 下面是基本類別常見的函式-6: 上述函式中,若要設定文字區域元件JTextArea顯示捲軸,必須建立一個捲軸元件JScrollPane,然後設定捲軸內容為JTextArea元件,其語法如下: 將元件加入Swing視窗的步驟: AWT可以直接在Frame視窗中加入元件,但Swing必須先利用JFrame類別的getContentPane函式建立一個Container容器,然後將元件加入Container容器中。 將元件加入Swing視窗的步驟可以分為下面四個部分: 載入AWT與Swing類別庫:因為Container類別定義在AWT套件中,所以撰寫程式碼時必須同時載入java.awt類別庫與javax.swing類別庫,才能夠
原创力文档


文档评论(0)