6.5 图形界面的布局设计 每一个容器组件都有一个默认的布局管理方式,也可以用setLayout方法来设置其他布局管理器。一旦确定了布局管理方式,容器组件就可以用add方法加入组件。 布局管理器用来确定组件在容器中的位置和大小,AWT中定义了布局管理器接口LayoutManager的实现类来实现此功能。

Slides:



Advertisements
Similar presentations
第 2 章 Java 运行环境搭建 2.1 Java 的运行系统 2.1 Java 的运行系统 2.2 JDK 的安装与配置2.2 JDK 的安装与配置 2.3 Java 开发工具包 2.4 Java 源文件编辑环境的选择 2.5 Application 和 Applet 程序的编写与运行.
Advertisements

Java 程序分类 Java Application :是完整程序,需要独立的解 释器解释运行;以 “.java” 为后缀的文件,以 main() 方法作为程序入口,由 java 编译器编译生 成字节码,由 Java 解释器加载执行字节码。 Java Applet 没有 main() 方法作为程序入口,是嵌在.
第 4 章 存 貨 存貨之意義及內容 存貨數量之衡量制度 存貨成本之衡量方法 成本之續後衡量 存貨之估計方法 總目次 會計學 III
我的未来不是梦 攀枝花市经贸旅游学校. 1. 文中案例王萍苦恼的原因是 什么? 2. 你有哪些办法可以帮助王萍? 导入 思考  谁来帮帮她?
单元二:面向对象程序设计 任务二:借书卡程序设计.
3.2 Java的类 Java 类库的概念 语言规则——程序的书写规范 Java语言 类库——已有的有特定功能的Java程序模块
《 Java开发环境配置》 主讲人:耿力.
Java 2实用教程(第3版)教学课件 主讲教师:张国平
JAVA程序设计 天津工程职业技术学院计算机工程系软件技术教研室.
商業服務學程 簡報者:雷天楠.
“三生教育”专题 生命·生存·生活.
III. 辛亥革命及其影響 1. 辛亥革命的爆發及結果 1.
心靈雞湯III-青春紀事 64篇關於愛、生活與學習的故事
Java程序设计教程 第一讲 Java概述.
1 1 1.
Java程序设计 常州信息职业技术学院(CCIT) 软件学院
四資二甲 第三週作業 物件導向程式設計.
公務員法 楊智傑.
勤奮品格簡介 蘇澳品格月會 2010年 3月.
寻觅节日诗情.
Hello小程序的运行和编译 Java AppletJava小程序的构成 1、关键字
提升溝通好辦法III 「說」得其所 言語治療組 2011年7月6日.
視窗程式設計 2. 視窗版面配置 Chih Hung Wang Reference:
第一章 面向对象程序设计.
Java Applet的运行原理 在网页向Java Applet传值 在Java Applet中播放声音 在Java Applet中使用组件
第11章 Java多媒体技术.
第6章 图形用户界面设计 6.1 图形用户界面概述 6.2 GUI标准组件的使用 6.3 Java的事件处理 6.4 窗口及菜单设计
第 18 章 圖形使用者介面.
第三部分 Java语言编程应用篇 第6章 Java语言的 图形用户界面开发技术 (之二).
第二部分 Java语言基础篇 第4章 Java语言与面向对象 (之一).
版面配置與JPanel 版面配置原理 JAVA常用版面配置 JPanel JScrollPane 作業.
亚洲清洁空气行动中心青岛机动车排放管理研讨会 2009年8月4日 青岛
第三章 控制结构.
第5章 Java中类、对象、接口 及包的概念 5.1 类的基本概念 5.2 类的继承概念 5.3 抽象类和接口 5.4 包.
国泰人寿真情分享.
Ch02 視窗Swing套件 物件導向系統實務.
Java语言程序设计-图形用户界面设计(2)
第5章 面向对象程序设计 本章要点 5.1 面向对象程序设计概述 5.2 Java语言的面向对象程序设计 5.3 方法的使用和对象数组
2018/11/15 面向对象与多线程综合实验-GUI设计 教师:段鹏飞.
Ch07 Java Applets 物件導向系統實務.
Java程序设计 JAVA 授课教师:赵小敏 浙江工业大学 软件学院
親愛的老師您好 感謝您選用本書作為授課教材,博碩文化準備本書精選簡報檔,特別摘錄重點提供給您授課專用。 說明: 博碩文化:
Chapter 9 設計的精細製作: 行動計算 Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz.
SWING 2018/11/23.
CH09 套件 物件導向程式設計(II).
記事本 物件導向系統實務.
第2章回顾 标识符:不用记,动手 关键字:if, else, switch, for, while, do, break, continue, void, …… 局部变量和成员变量 ①变量作用域 ②内存布局 基本数据类型 ①4类8种 ②互相转换 流程控制语句 ①分支 if……else, switch.
JAVA 2 新觀念教本 ---邁向SCJP專業認證--- 易瓏資訊 林新德 著.
Java语言程序设计 第八部分 Applet小程序.
第5章 构成用户界面的窗口环境 北京大学计算机系 代亚非.
3.1 数据类型 3.2 标识符与关键字 3.3 常量 3.4 变量 3.5 运算符与表达式 3.6 一个编程实例
Ch04 事件處理 物件導向系統實務.
CH04 視窗中元件排排坐 物件導向系統實務.
C/C++/Java 哪些值不是头等程序对象
事件處理.
第二章Java基本程序设计.
人際歷程取向心理治療(III) 治療架構 李正源.
第二章 Java语法基础.
立定心志、起來建造神的殿 第四季 (歷代志上研讀) 「現在你們應當立定心意, 尋求耶和華─你們的神; 也當起來建造耶和華神的聖所。」
4.4 布局管理器.
第二章 Java基本语法 讲师:复凡.
第二章 Java基本语法 讲师:复凡.
第6章 面向对象的高级特征 学习目标 本章要点 上机练习 习 题.
第2章 Java语言基础.
Applet.
只要功夫深 铁杵磨成针 —— 写在前面的话.
迴圈(重複性結構) for while do while.
第二章 Java基本语法 讲师:复凡.
Summary
变量定位图形 Java中数据的类型分为四种:基本数据类型、数组类型、类类型以及接口类型。任何常量和变量都一定是上述四种数据类型中的一种。简单数据类型的实例化有两种:变量和常量。 变量名和常量名必须是Java语言中合法的标识符。 常量是在程序运行期间值不改变的量。 变量是在程序运行期间值可通过赋值改变的量,
Presentation transcript:

6.5 图形界面的布局设计 每一个容器组件都有一个默认的布局管理方式,也可以用setLayout方法来设置其他布局管理器。一旦确定了布局管理方式,容器组件就可以用add方法加入组件。 布局管理器用来确定组件在容器中的位置和大小,AWT中定义了布局管理器接口LayoutManager的实现类来实现此功能。

LayoutManager的实现类: 6.5.1 FlowLayout布局管理器 FlowLayout BorderLayout GridLayout GridBagLayout CardLayout null LayoutManager的实现类: 6.5.1 FlowLayout布局管理器 FlowLayout是一种最简单的布局管理,是Panel的默认布局。它以流式自左向右、自上而下地放置容器中的组件,其默认方式为居中对齐方式,也可以手工设置左对齐或右对齐。

创建默认的FlowLayout布局管理器: FlowLayout() 以指定的对齐方式创建: FlowLayout(int) FlowLayout(int,int,int) FlowLayout.LEFT FlowLayout.RIGHT FlowLayout.CENTER 对齐方式 组件行间距 组件列间距

6.5.2 BorderLayout布局管理器 BorderLayout是Frame和Dialog的默认布局。它将整个容器分为东、西、南、北、中5个部分,加入组件时需要指明放置的位置。 创建默认的BorderLayout布局管理器: BorderLayout() 以指定的行、列间距创建BorderLayout布局管理器: BorderLayout(int,int) 组件行间距 组件列间距

BorderLayout的主要方法 int getHgap( ) 返回组件间距 int getVgap( ) 返回列间距 void setHgap(int) 设置组件间距 void setVgap(int) 设置列间距

6.5.3 GridLayout布局管理器 GridLayout布局将容器划分成m行x n列大小相同的格子,组件放在格子中。 GridLayout(int,int) 以指定的行数、列数、行间距、列间距创建布局: GridLayout(int,int,int,int)

GridLayout的主要方法 int getHgap( ) 返回组件间距 int getVgap( ) 返回列间距 void setHgap(int) 设置组件间距 void setVgap(int) 设置列间距 int getRows( ) 获取网格的行数 int getColumns( ) 获取网格的列数 void setRows(int) 设置网格的行数 void setColumns(int ) 设置网格的列数

import java.applet.*; import java.awt.*; import java.awt.event.*; public class TestGridLayout extends Applet { public void init() setLayout(new GridLayout(5,6)); //GridLayout布局策略5行6列30网格 for(int i=0;i<5;i++) for(int j=0;j<6;j++) // if((int)(Math.random()*100)>=0) if((int)(Math.random()*100)>=50) add(new Button(Integer.toString(i*6+j))); //随机加入按钮 else add(new Label()); //随机加入空白 }

6.5.4 GridBagLayout布局管理器 GridBagLayout布局将容器划分成很多矩形小格子,每个组件可以占用一个或多个单元,从而可以指定每个组件所占空间的大小 创建默认的GridBagLayout布局: GridBagLayout() 通过设置和组件有关的GridContaints对象的属性来分配每个组件,然后调用GridBagLayout的setContaints方法将组件与GridContaints对象关联,最后将组件加入容器中。

GridContaints对象的常用属性 (1)gridwidth, gridheight 这两个参数决定组件所占空间单元的行数和列数,默认值为1。 (2)fill 当组件显示区域比其尺寸大时,该参数确定怎样重新定义组件大小,其默认值为: GridBagContaints.NORE (不重新定义大小) 还可以为: GridBagContaints.Horizontal (水平方向拉伸填满) GridBagContaints.Vertical (垂直方向拉伸填满) GridBagContaints.BOTH (两个方向拉伸填满) (3)weightx, weighty 指定分配多余空间的方式

6.5.5 CardLayout布局管理器 CardLayout布局将容器中的组件象扑克牌一样排列,每次只能显示最上面的一张。 以指定的行间距、列间距创建GridLayout布局: CardLayout(int,int) 将组件(通常是Panel)以CardLayout加入时,需要指定一个名字,如:add(“ONE”, Panel)

CardLayout的主要方法 int getHgap( ) 返回组件间距 int getVgap( ) 返回列间距 void setHgap(int) 设置组件间距 void setVgap(int) 设置列间距 void first( ) 显示第一个加入布局的组件 void last( ) 显示最后一个加入布局的组件 void next( ) 显示当前组件的下一个组件 void previous( ) 显示当前组件的前一个组件

6.5.6 null 布局管理器 null 布局管理器将主动权交给用户,由用户使用坐标系统来放置每个组件,即调用组件的setBounds()方法来设置位置和大小。 如: this.setLayout(null); Label L1=new Label(“test”); L3.setBounds(new Rectangle(108, 2, 98, 37)); Add(L3); X 、y 坐标、长、宽