JAVA 2 新觀念教本 ---邁向SCJP專業認證--- 易瓏資訊 林新德 著.

Slides:



Advertisements
Similar presentations
3.2 Java的类 Java 类库的概念 语言规则——程序的书写规范 Java语言 类库——已有的有特定功能的Java程序模块
Advertisements

JAVA 编 程 技 术 主编 贾振华 2010年1月.
JAVA程序设计 天津工程职业技术学院计算机工程系软件技术教研室.
第5章 HTML 標籤介紹.
Java程序设计 常州信息职业技术学院(CCIT) 软件学院
新闻写作的特点与技巧 主讲:毛兆宏.
Hello小程序的运行和编译 Java AppletJava小程序的构成 1、关键字
2017/3/17 第七课 带上X光眼镜检查软件-续.
第二十章 圖型介面與網路對播 (GUI and Intercross Transition) 20-1 簡介 20-2 ActionListener Interface 20-3 ActionEvent Class 20-4 Vector Class 20-5 圖型介面與視窗關閉 20-6 圖型介面與資料顯示.
視窗程式設計 2. 視窗版面配置 Chih Hung Wang Reference:
6.5 图形界面的布局设计 每一个容器组件都有一个默认的布局管理方式,也可以用setLayout方法来设置其他布局管理器。一旦确定了布局管理方式,容器组件就可以用add方法加入组件。 布局管理器用来确定组件在容器中的位置和大小,AWT中定义了布局管理器接口LayoutManager的实现类来实现此功能。
Java Applet的运行原理 在网页向Java Applet传值 在Java Applet中播放声音 在Java Applet中使用组件
第11章 Java多媒体技术.
第6章 图形用户界面设计 6.1 图形用户界面概述 6.2 GUI标准组件的使用 6.3 Java的事件处理 6.4 窗口及菜单设计
4.1 概述 4.2 AWT 与 Swing组件 4.3 事件处理 4.4 容器与布局管理器 4.5 对话框 4.6 菜单
第 18 章 圖形使用者介面.
网 络 课 程 马 鞍 学 网 络 山 课 程 大 络 网 Visual Basic程序设计 第 一 讲 最容易接受的编程语言
第三部分 Java语言编程应用篇 第6章 Java语言的 图形用户界面开发技术 (之二).
第二部分 Java语言基础篇 第4章 Java语言与面向对象 (之一).
版面配置與JPanel 版面配置原理 JAVA常用版面配置 JPanel JScrollPane 作業.
《计算机网络技术》 asp.net 程序设计 文本类控件 笪静.
Java语言程序设计 马 皓
C# 程式設計 第一部分 第1-4章 C# 程式設計 - 南華大學資管系.
Ch06 人機介面_視窗程式設計(2) 物件導向系統分析與設計.
第9章 图形用户界面(GUI)设计.
程式簡介、VB、物件導向 國立北門高中 林明璋.
Ch02 視窗Swing套件 物件導向系統實務.
Java语言程序设计-图形用户界面设计(2)
GUI事件处理 主讲:赖国荣 QQ:
第5章 面向对象程序设计 本章要点 5.1 面向对象程序设计概述 5.2 Java语言的面向对象程序设计 5.3 方法的使用和对象数组
2018/11/15 面向对象与多线程综合实验-GUI设计 教师:段鹏飞.
第10章VBA会计应用与实践 第11章会计凭证管理模块设计与实现
Ch07 Java Applets 物件導向系統實務.
Java程序设计 JAVA 授课教师:赵小敏 浙江工业大学 软件学院
視窗程式設計 9. 清單方塊 Chih Hung Wang Reference:
SWING 2018/11/23.
第18章 B4J的跨平台應用程式開發 18-1 B4J的GUI設計工具與介面控制項 18-2 使用B4J的介面控制項
Java程序设计 第15章 创建用户界面.
記事本 物件導向系統實務.
CH7 佈局、按鈕與文字編輯元件.
記事本 物件導向系統實務.
Java语言程序设计 第八部分 Applet小程序.
程式設計 Visual Basic簡介 週次:1 建國技術學院 資管系 饒瑞佶 2003年9月17日.
辅导课程十三.
第十二章 Win32環境程式設計 這一章節可以說是本書精華之一,Win32程式設計算是比較複雜的部分,但是我們以最簡單的敘述帶領著大家進入Win32程式設計的殿堂,讓你寫出來的程式具有一定的水準以上。若能將本章與下一章的技巧靈活運用,更能讓大家寫出高階的視窗程式。
第5章 构成用户界面的窗口环境 北京大学计算机系 代亚非.
AWT Event Model.
3.1 数据类型 3.2 标识符与关键字 3.3 常量 3.4 变量 3.5 运算符与表达式 3.6 一个编程实例
Ch04 事件處理 物件導向系統實務.
CH03 為自己的視窗加上小元件 物件導向系統實務.
第二章 创建用户界面 本章重点和难点 2.1 基本属性 2.2 创建窗体 2.3 Visual Basic的常用控件 2.4 制作菜单.
集合框架和泛型(一).
CH04 視窗中元件排排坐 物件導向系統實務.
事件處理.
西南科技大学网络教育系列课程 高级语程序设计(Java) 第十章 基于Swing的图形用户界面设计.
網路遊戲版 幸福農場168號.
Multithread 多執行緒 以GUI為例了解物件以及Event
第五章 事件处理机制 Java 事件处理机制 窗口事件 鼠标事件 键盘事件 例:ButtonTest.java.
第11章 MATLAB图形用户界面设计 11.1 菜单设计 11.2 对话框设计 11.3 图形用户界面设计工具
Java變數 2014/6/24.
4.5 对话框.
4.4 布局管理器.
4.6 菜单.
第十二章 JFC/Swing 概述  Swing组件  Swing应用程序结构  JComponent类.
第6章 面向对象的高级特征 学习目标 本章要点 上机练习 习 题.
本章主題 C++的程式結構 資料型態與宣告 算術運算 簡易的輸入輸出指令 程式編譯(Compile)的過程與原理.
1、复选框和单选按钮 2、框架 3、列表框和组合框 4、滚动条 5、鼠标器事件 6、键盘
Applet.
组件 组件是构成图形用户界面的各种元素。通过对不同事件的响应来完成和用户的交互或组件之间的交互。组件分为容器(Container)类和非容器类组件两大类。 控制组件有Button按钮 、Checkbox复选矿、 Choice下拉列表、Label标签、List列表、textcomponent文本(TextField文本域.
Summary
Presentation transcript:

JAVA 2 新觀念教本 ---邁向SCJP專業認證--- 易瓏資訊 林新德 著

第15章 AWT視窗程式設計 Java的圖形化使用者介面 AWT元件的繼承關係 容器 事件的處理 AWT基本元件 版面配置

15-1 Java的圖形化使用者介面

15-1 Java的圖形化使用者介面 15-1-1 認識圖形化使用者介面 15-1-1 認識圖形化使用者介面 Microsoft Word的一個擷取畫面,可以看到其組成包括選單(Menu)、文字列(TextField)及按鈕(Button)等元件。

15-1 Java的圖形化使用者介面 15-1-1 認識圖形化使用者介面 Java Foundation Classes包括的部份: 15-1-1 認識圖形化使用者介面 Java Foundation Classes包括的部份: 舊的圖形介面工具AWT(Abstract Window Toolkit) 新的圖形介面工具Swing 整合工具Accessibility API 高品質繪圖功能的2D API 拖曳功能(drag and drop)的API

15-1 Java的圖形化使用者介面 15-1-2 AWT AWT使用大家都有的功能

15-1 Java的圖形化使用者介面 15-1-2 AWT AWT元件在不同作業系統的外觀不同

15-1 Java的圖形化使用者介面 15-1-2 AWT AWT的缺點: 幾乎無法延伸子類別 在不同系統上外觀相異 消耗較多的系統資源 AWT直接和視窗作業系統溝通,所以元件初始化之後,其執行的速度會比Swing快一些。

15-1 Java的圖形化使用者介面 15-1-3 Swing Swing的優點: 可以利用擴充子類別改進元件的功能 固定的外觀 耗用較低的系統資源 Swing和一般的Java工具一樣擁用跨平台的優點,然而也有著相同的缺點,就是較慢一點點。

15-2 AWT元件的繼承關係

15-2 AWT元件的繼承關係 15-2-1 Component的延伸類別

15-2 AWT元件的繼承關係 15-2-2 MenuComponent的延伸類別

15-2 AWT元件的繼承關係 15-2-2 MenuComponent的延伸類別 以「記事本」為例說明選單及其相關元件

15-2 AWT元件的繼承關係 15-2-3 建立GUI的步驟 建立元件 將元件加入容器 配置容器內元件的位置 處理由元件所產生的事件

15-3 容器

15-3 容器 Container的延伸類別

15-3 容器 15-3-1 Frame Frame類別可以建立圖形化系統的視窗,通常稱之為框架。 一個程式可以擁有一個以上的框架。 Frame是AWT的頂層元件。 Frame顯示有邊框的視窗,邊框的標題列可以讓使用者在螢幕上拖曳整個框架,也可以由邊框改變框架的大小。

15-3 容器 15-3-1 Frame Frame的建構子及常用方法 Frame建構子或方法 說明 Frame() 建立框架。 Frame(String title) 建立標題為title的框架。 int getState() 取得狀態,若為最小化則取得Frame.ICONIFIED,若為正常狀態則會取得Frame.NORMAL。 void setIconImage(Image img) 設定小圖示為img。 void setMenuBar(MenuBar mb) 設定選單列為mb。 void setResizable(boolean rs) 設定是否可以調整大小。 void setState(int state) 設定狀態(請參考getState方法)。 void setTitle(String title) 設定標題為title。

15-3 容器 15-3-2 Panel Panel的預設版面管理員為FlowLayout。

15-3 容器 15-3-3 Dialog Dialog物件也是頂層元件,不過它必須依附在Frame或其它Dialog上。 Dialog的預設版面管理員為BorderLayout。

15-4 事件的處理

15-4 事件的處理 15-4-1 事件 事件(event)其實是就是一種物件。 15-4-1 事件 事件(event)其實是就是一種物件。 元件透過傳送事件物件(event object)的方式,傳達使用者按下滑鼠按鈕或鍵盤按鍵等事件。 欲讓事件能順利由來源元件傳送給傾聽者處理,必須將傾聽者指定給元件(相當於一種註冊動作)。 事件本身就存在特定的事件資訊,接收事件的傾聽者可以由事件的資訊進行處理。 AWT元件可以使用的事件和傾聽者都包含在java.awt.event套件裡。

15-4 事件的處理 15-4-2 傾聽者 每個傾聽者都必須實作傾聽者介面或是繼承自轉接者(Adapter)。 15-4-2 傾聽者 每個傾聽者都必須實作傾聽者介面或是繼承自轉接者(Adapter)。 轉接者為實作傾聽者介面的類別,其定義的傾聽者方法都是空方法,不對事件作任何處理。 傾聽者方法都是以 void定義,參數為事件,不回傳任何值。 傾聽者介面都以Listener為識別字尾,而轉接者都以Adapter為識別字尾

15-4 事件的處理 15-4-3 事件的傳送 元件加入傾聽者是使用add???Listener()方法,???表示某種型態的事件。 15-4-3 事件的傳送 元件加入傾聽者是使用add???Listener()方法,???表示某種型態的事件。 元件解除和傾聽者之間的關係,不再將發生的事件傳給傾聽者,使用remove???Listener()方法。 一個事件來源可以將事件傳送給多個傾聽者,而多個不同來源的事件也可以傳送給單一個傾聽者。

15-4 事件的處理 15-4-3 事件的傳送 傾聽者和來源物件沒有一對一的限定

15-4 事件的處理 15-4-4 傾聽者介面 容器的傾聽者介面 所有容器的傾聽者介面 傾聽者方法 ContainerListener 15-4-4 傾聽者介面 容器的傾聽者介面 所有容器的傾聽者介面 傾聽者方法 ContainerListener componentAdded() componentRemoved()

15-4 事件的處理 所有元件的傾聽者介面 傾聽者方法 ComponentListener componentResized() componentMoved() componentShown() componentHidden() FocusListener focusGained() focusLost() KeyListener keyTyped() keyPressed() keyRelease() MouseListener mouseClicked() mousePressed() mouseReleased() mouseEntered() mouseExited() MouseMotionListener (與MouseListener傾聽相同的事件MouseEvent) mouseDragged() mouseMoved

15-4 事件的處理 傾聽者介面 傾聽者方法 事件來源元件 ActionListener actionPerformed() Button TextField AdjustmentListener adjustmentValueChanged() ScrollBar ItemListener itemStateChanged() CheckBox Choice TextListener textValueChanged () TextArea WindowListener windowActivated() windowClosed() windowClosing() windowDeactivated() windowDeiconified() windowIconified() windowOpened() Frame Dialog

15-4 事件的處理 15-4-4 傾聽者介面 MyWindowClosing.java:需要在框架上的關閉鈕加入離開程式的功能時,可以建立MyWindowClosing物件並設定給框架作為傾聽者。 import java.awt.*; import java.awt.event.*; class MyWindowClosing extends WindowAdapter { void windowClosing(WindowEvent e){ System.exit(0); }

15-5 AWT基本元件

15-5 AWT基本元件 15-5-1 Label和Button元件 Label的建構子或方法 Label的建構子或方法 說明 建立空白標籤。 Label(String text) 建立標籤文字為text的標籤。 Label(String text, int alignment) 建立標籤文字為text,排放位置為alignment的標籤。alignment可以為Label的類別常數之一,LEFT、CENTER、RIGHT。 int getAlignment() 取得標籤文字的排放位置。 String getText() 取得標籤的文字內容。 void setAlignment(int alignment) 設定標籤文字的排放位置。 void setText(String text) 設定標籤文字的內容為text。

15-5 AWT基本元件 15-5-1 Label和Button元件 Button的建構子或方法 Button的建構子或方法 說明 建立沒有文字的按鈕。 Button(String label) 建立文字為label的按鈕。 String getActionCommand() 取得按下按鈕所傳達的指令。 String getLabel() 取得按鈕上的文字。 void setActionCommand(String command) 設定按鈕所傳達的指令為command。 void setLabel(String label) 設定按鈕上的文字為label。

15-5 AWT基本元件 15-5-2 Checkbox元件 Checkbox元件的兩種外觀 四方形的為獨立的核選盒,當其它的核選盒狀態改變時並不會影響到該核選盒。 圓形的核選盒(radio button)屬於某個CheckboxGroup。

15-5 AWT基本元件 15-5-2 Checkbox元件 Checkbox的建構子或方法 說明 Checkbox(String label) 建立文字為label的核選盒。 Checkbox(String label, boolean state) 建立文字為label,選取狀態為state的核選盒。state為true表示核選;為false表示未核選。 Checkbox(String label, Boolean state, CheckboxGroup group) 建立文字為label,選取狀態為state,並加入群組group的核選盒。 CheckboxGroup getCheckboxGroup() 取得所加入的核選盒群組。 String getLabel() 取得核選盒上的文字內容。 boolean getState() 取得核選盒狀態。 void setCheckboxGroup (CheckboxGroup g) 設定核選盒為某個核選盒群組g的成員。 void setLabel(String label) 設定核選盒文字內容。 void setState(boolean state) 設定核選盒的選取狀態。

15-5 AWT基本元件 15-5-3 TextField與TextArea元件 TextComponent的常用方法 說明 String getSelectedText() 取得選取的文字。 int getSelectionEnd() 取得選取的終點處。 int getSelectionStart() 取得選取的起始處。 String getText() 取得文字內容。 void select(int start, int end) 選擇start到end的文字。 void setEditable(boolean b) 設定是否為可以編輯。 void setSelectionEnd(int selectionEnd) 設定選取的終點處為selectionEnd。 void setSelectionStart(int selectionStart) 設定選取的起始處為selectionStart。 void setText(String t) 設定文字內容為t。

15-5 AWT基本元件 15-5-3 TextField與TextArea元件 TextField建構子及方法 說明 TextField(int columns) 建立大小約為columns個字元的文字列。 TextField(String text) 建立文字內容為text的文字列。 TextField(String text, int columns) 建立大小為columns,文字內容為text的文字列。 int getColumns() 取得文字列的大小。 void setColumns(int columns) 設定文字列的大小為columns。 void setEchoChar(char c) 設定反應的字元。一般用在密碼輸入列。

15-5 AWT基本元件 15-5-3 TextField與TextArea元件 TextArea建構子及方法 TextArea建構子及方法 說明 TextArea(int rows, int columns) 建立列數為rows、行數為columns的文字區。 TextArea(String text) 建立內容為text的文字區。 TextArea(String text, int rows, int columns) 建立列數為rows、行數為columns的文字區。建立內容為text的文字區。 void append(String str) 將字串str加在文字區內容後面。 int getColumns() 取得文字區的行數(每行可容納的字元數)。 int getRows() 取得文字區的列數。 void insert(String str, int pos) 在文字區內容的pos位置插入str字串。 void setColumns(int columns) 設定文字區的行數為columns。 void setRows(int rows) 設定文字區的列數為rows。

15-5 AWT基本元件 15-5-4 Choice元件 Choice類別常用的方法 說明 void addItem(String item) 從後面加入項目item。 String getItem(int index) 由項目索引index取得項目。 int getItemCount() 取得項目數。 int getSelectedIndex() 取得被選取的項目索引。 String getSelectedItem() 取得被選取的項目。 void insert(String item, int index) 在位置index處插入項目item。 void remove(int pos) 移除位置為pos的項目。 void remove(String item) 移除名稱為item的項目。 void select(int pos) 選擇位置為pos的項目。 void select(String str) 選擇名稱為str的項目。

15-5 AWT基本元件 15-5-5 List元件 List建構子及方法 說明 List() 建立表列。 List(int rows) List(int rows, boolean Mode) 建立顯示的列數為rows的表列。Mode若為true表示可以多選,為false表示只能單選。 void add(String item) 由後面加入項目item。 void add(String item, int index) 由位置index加入項目item。 String getItem(int index) 取得索引為index的項目。 int getItemCount() 取得項目數。 int getSelectedIndex() 取得被選取的索引(單選)。 int[] getSelectedIndexes() 取得被選取的索引陣列(多選)。 String getSelectedItem() 取得被選取的項目(單選)。 String[] getSelectedItems() 取得被選取的項目陣列(多選)。 boolean isIndexSelected(int index) 判斷索引為index的項目是否被選取。 void remove(int pos) 移除位置為pos的項目。 void remove(String item) 移除項目item。 void setMultipleMode(boolean b) 設定是否為多選模式。b為true時可以多選。

15-5 AWT基本元件 15-5-6 Canvas元件 Canvas元件:用來顯示繪圖結果的元件。 Canvas元件可以利用getGraphics()方法取得一個Graphics物件,透過Graphics物件的方法就可以畫出幾何圖形或影像。

15-5 AWT基本元件 15-5-7 Scrollbar元件 捲軸的性質

15-5 AWT基本元件 15-5-7 Scrollbar元件 Scrollbar的建構子 Scrollbar建構子 說明 建立預設的捲軸(方向為垂直、最小值為0、最大值為100、值為0、線增量為1、區增量為10)。 Scrollbar(int ori) 建立方向為ori的捲軸。ori可以為兩個類別常數之一,HORIZONTAL為水平方向,VERTICAL為垂直方向。其他的值為預設值。 Scrollbar(int orientation, int value, int visible, int min, int max) 建立方向為ori、值為value、可見量為visible、最小值為min、最大值為max的捲軸。

15-5 AWT基本元件 Scrollbar的常用方法 Scrollbar建構子及方法 說明 int getBlockIncrement() 取得區增量。 int getMaximum() 取得最大值。 int getMinimum() 取得最小值。 int getOrientation() 取得方向性。 int getUnitIncrement() 取得線增量。 int getValue() 取得目前的值。 int getVisibleAmount() 取得可見量。 void setBlockIncrement(int v) 設定區增量為v。 void setMaximum(int max) 設定最大值為max。 void setMinimum(int min) 設定最小值為min。 void setOrientation(int ori) 設定方向性為ori。 void setUnitIncrement(int v) 設定線增量為v。 void setValue(int v) 設定目前的值為v。 void setVisibleAmount(int a) 設定可見量為a。

15-5 AWT基本元件 15-5-8 使用選單 框架可以加入一個選單列(MenuBar)。 選單列裡可以有數個選單(Menu)。 15-5-8 使用選單 框架可以加入一個選單列(MenuBar)。 選單列裡可以有數個選單(Menu)。 選單內又可以有數個選項(MenuItem)和核選式選項(ChechboxMenuItem)。 點選選項時,會發生ActionEvent,可以使用ActionListener傾聽;點選核選式選項時,則是發生ItemEvent,可以使用ItemListener傾聽。

15-6 版面配置

15-6 版面配置 配置管理員會依循特別的配置規則,按照容器的大小,動態配置元件的位置,並不會將元件固定在確切的位置上 配置管理員有五種,分別屬於不同的類別:FlowLayout(循序配置)、BorderLayout(邊緣配置)、GridLayout(格式配置)、GridBagLayout(格群配置)和CardLayout(卡式配置)。 巢狀的配置管理搭配Panel使用,可以製作出複雜的版面配置。

15-6 版面配置 15-6-1 FlowLayout FlowLayout是Panel的預設配置管理員。 指定配置管理員給容器時,可以利用Container的setLayout()方法來設定,其參數為LayoutManager物件即可。

15-6 版面配置 15-6-1 FlowLayout FlowLayout建構子和方法 FlowLayout建構子和方法 說明 建立循序配置管理員。 FlowLayout(int align) 建立依align排列的循序配置管理員。align可以為FlowLayout的三個類別常數,CENTER、LEFT或RIGHT。 FlowLayout(int align, int hgap, int vgap) 建立依align排列、元件間的水平距離為hgap、垂直距離為vgap的配置管理員。 void setAlignment(int align) 設定排列方式為alighn。 void setHgap(int hgap) 設定元件間的水平距離為hfap。 void setVgap(int vgap) 設定元件間的垂直距離為vfap。

15-6 版面配置 15-6-2 BorderLayout BorderLayout會將收納器分成,東、西、南、北、中,五個區域,每個區域只能放入一個元件,所以最多只能放入五個元件。 每個區域也可以放入收納器,是很方便的配置管理員。 加入元件時,第二個參數指定放置元件的區域,如“East”、“West”、“South”、“North”或“Center”。

15-6 版面配置 15-6-2 BorderLayout BorderLayout的配置規則: “North” 和 “South” 區的元件會和容器同寬,高度為元件的偏好高度。 “East” 和 “West” 區的元件寬度為偏好寬度,高度為容器高減去南北兩區元件的高度。 “Center” 區的元件大小則是減去東西南北四區元件所佔的空間,剩下的部份就是該區元件的大小。

15-6 版面配置 15-6-2 BorderLayout BorderLayout建構子和方法 BorderLayout建構子和方法 說明 建立邊緣配置管理員。 BorderLayout(int hgap, int vgap) 建立元件間的水平距離為hgap、垂直距離為vgap的配置管理員。 void setHgap(int hgap) 設定元件間的水平距離為hgap。 void setVgap(int vgap) 設定元件間的垂直距離為vgap。

15-6 版面配置 15-6-3 GridLayout GridLayout是相當制式的配置管理員,它會將容器畫分成格子狀的區域,然後將元件以固定的大小放置。 行數和列數固定時,元件的大小會和收納器的大小成正比關係。 格子的大小並不是完全由GridLayout設定的列數和行數決定,也和元件的數目有關。先符合行數,再視元件的數目調整列數。

15-6 版面配置 15-6-3 GridLayout GridLayout建構子和方法 GridLayout建構子和方法 說明 建立格式配置管理員。 GridLayout(int rows, int cols) 建立列數為rows、行數為cols的格式配置管理員。 GridLayout(int rows, int cols, int hgap, int vgap) void setColumns(int cols) 設定配置行數為cols。 void setHgap(int hgap) 設定元件間水平距離為hgap。 void setRows(int rows) 設定配置列數為rows。 void setVgap(int vgap) 設定元件間垂直距離為vgap。

15-6 版面配置 15-6-4 GridBagLayout GridBagLayout比GridLayout要來得有彈性,相對地也比較複雜和麻煩。 在設定格群配置後,使用add()方法加入元件的同時,除了以元件本身為參數外,還需要傳入一個GridBagConstraints物件。 元件的位置及大小就是由GridBagConstraints物件所控制,而且GridBagConstraints還會影響容器的格子行數及列數。

15-6 版面配置 GridBagConstraints的屬性 GridBagConstraints的屬性 說明 int fill 元件填入格群的條件。此屬性可以利用GridBagConstraints類別常數來設定,包括BOTH、VERTICAL、HORIZONTAL、CENTER、EAST等。 int gridheight 元件高度相對於格子高之倍數。 int gridwidth 元件寬度相對於格子寬之倍數。 int gridx 元件所在的行數索引。 int gridy Insets insets Insets物件有四個屬性,top、left、bottom、right,分別表示元件四個邊和其它元件的距離。 double weightx 分配額外水平方向空間的權值。預設值為0.0,表示不取得額外的空間。值越大表示優先取得或減少空間。 double weighty 分配額外垂直方向空間的權值。參看weightx。

15-6 版面配置 15-6-5 CardLayout CardLayout就如其名,像卡片那樣一張張地疊在一起,而每次只能看到其中的一張卡片。 CardLayout可以管理許多元件,一個元件(或子容器)放在「一張卡片」裡,每個元件的大小和收納器一樣大,因此,每次只能看到某一個元件,必須「翻頁」才能看到下一張卡片的內容。 通常使用CardLayout時,還需要使用其它的控制元件(如按鈕)來控制「翻頁的動作」。

15-6 版面配置 第15章 結束 15-6-5 CardLayout CardLayout建構子和方法 CardLayout建構子和方法 說明 CardLayout(int hgap, int vgap) 建立水平距離為hgap、垂直距離為vgap的卡式配置管理員。 void first(Container parent) 翻到第一頁。parent為使用卡式配置之收納器。 void last(Container parent) 翻到最後一頁。 void next(Container parent) 翻往下一頁。 void previous(Container parent) 翻往前一頁。 void show(Container parent, String name) 翻到名稱為name的那一頁。 第15章 結束