Swing套件的容器元件与版面配置
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
整理ppt
3
10-1-1 Swing套件是什麼
Swing套件的類別是定義 在名為javax.swing套件, 第9章介紹的AWT元件屬於 JDK 1.0和1.1版的GUI元 件,在Java 2平台提供全 新的Swing元件來取代 AWT,大部分的Swing元
件都是繼承自
JComponent,其元件名 稱都是以”J”字母開頭,如 右圖所示:
JFrame類別關於ContentPane物件的相 關方法,如下表所示:
方法 void setContentPane(Container)
Container getContentPane() void setJMenuBar(JMenuBar)
JMenuBar getMneuBar()
說明 設定 JFrame 使用的 ContentPane 物件 取得 JFrame 使用的 ContentPane 物件 設定視窗的功能表列(詳見第 11 章)
整理ppt
21Biblioteka -1 Swing套件的基礎Swing套件屬於Java平台「JFC」(Java Foundation Classes)的一部分,JFC可 以建立GUI介面的Java應用程式,在本書 稱為Swing應用程式,使用的是JFC的 Swing套件提供的各種元件。
• 例如:按鈕、核取方塊、選項鈕和文字方塊等。
整理ppt
5
10-1-3 事件改編者Event Adapter-說 明
在AWT的java.awt.event套件提供 XXXAdapter改編者類別,如下表所示:
XXXAdapter 類別 ComponentAdapter ContainerAdapter
FocusAdapter KeyAdapter MouseAdapter MouseMotionAdapter WindowAdapter
第10章 Swing套件的容器元件與版 面配置
10-1 Swing套件的基礎 10-2 Swing的最上層容器類別 10-3 Swing的中間層容器類別 10-4 Swing元件的版面配置管理員 10-5 Swing元件的框線
整理ppt
1
10-1 Swing套件的基礎
10-1-1 Swing套件是什麼 10-1-2 Swing應用程式架構 10-1-3 事件改編者Event Adapter
使用最佳尺寸顯示 Swing 元件
void setVisible(boolean) 是否顯示 JFrame 視窗,參數 boolean 為 true 表示顯示,false 為不顯示
取得視窗的功能表列
整理ppt
13
10-2-1 JFrame最上層容器類別Component相關方法
JFrame類別繼承自Component類別的相 關方法,如下表所示:
方法
說明
void setSize(int, int)
設定 JFrame 視窗尺寸,2 個參數 int 分別 為寬和高
void pack()
實作的傾聽者介面
ComponentListener ContainerListener
FocusListener KeyListener MouseListener MouseMotionListener WindowListener
整理ppt
6
10-1-3 事件改編者Event Adapter-範 例
整理ppt
4
10-1-2 Swing應用程式架構
Swing應用程式的架構像是在一個大盒子中放入 多個小盒子,首先將Swing套件的各種GUI元件 JButton和JLabel新增到中間層容器元件。例如: JPanel,然後將JPanel新增到最上層容器類別 JFrame,JFrame是一種擁有標題列的視窗元件, 如下圖所示:
{ System.exit(0); }
});
整理ppt
7
10-2 Swing的最上層容器類別
10-2-1 JFrame最上層容器類別 10-2-2 JApplet最上層容器類別 10-2-3 JDialog最上層容器類別
整理ppt
8
10-2 Swing的最上層容器類別-類 別架構
在Java的Swing應用程式需要使用一個最上層容 器類別作為容器類別架構的根類別,Swing的 GUI元件需要新增至「容器」(Container)類 別架構,才能讓GUI元件在螢幕上顯示,如下圖 所示:
例如:在主程式main()使用 WindowListener事件傾聽者,這個介面一 共有7個方法,但是我們只實作 windowClosing()一個方法,如下所示:
app.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent evt)
整理ppt
11
10-2-1 JFrame最上層容器類別-建 構子
JFrame類別的建構子,如下表所示:
建構子
JFrame() JFrame(String)
說明
建立 JFrame 物件,預設隱藏視窗,需要呼叫 setVisible(true)方法來顯示視窗,參數字串是視窗的
標題文字
整理ppt
12
10-2-1 JFrame最上層容器類別ContentPane相關方法
整理ppt
9
10-2 Swing的最上層容器類別-說明
Swing應用程式至少需要擁有一個JFrame容器類 別架構,也就是一個擁有標題列的主視窗。
應用程式對話方塊可以建立以JDialog為最上層類 別的容器類別架構。例如:Java應用程式擁有1 個主視窗和2個對話方塊,也就是建立1個以 JFrame和2個以JDialog為根類別的容器類別架 構。
在Java Applet也可以使用Swing元件,這是建 立以JApplet為根類別的容器類別架構,如此即可 在Java Applet顯示Swing的GUI元件。
整理ppt
10
10-2-1 JFrame最上層容器類別類別架構
JFrame類別的物件是一個擁有框線、標題列和圖 示按鈕的Windows視窗,這個視窗擁有隱藏的功 能表列(MenuBar)和ContentPane元件, JFrame類別的繼承架構,如下圖所示: