4.4 布局管理器.

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() 方法作为程序入口,是嵌在.
四川机电职业技术学院 http: // 6.1 主控界面设计、编程 信息工程系 向模军 Tel: QQ:
单元二:面向对象程序设计 任务二:借书卡程序设计.
3.2 Java的类 Java 类库的概念 语言规则——程序的书写规范 Java语言 类库——已有的有特定功能的Java程序模块
JAVA程序设计 天津工程职业技术学院计算机工程系软件技术教研室.
图形界面设计 福州大学阳光学院 张海歆.
Java程序设计 常州信息职业技术学院(CCIT) 软件学院
四資二甲 第三週作業 物件導向程式設計.
Hello小程序的运行和编译 Java AppletJava小程序的构成 1、关键字
視窗程式設計 2. 視窗版面配置 Chih Hung Wang Reference:
6.5 图形界面的布局设计 每一个容器组件都有一个默认的布局管理方式,也可以用setLayout方法来设置其他布局管理器。一旦确定了布局管理方式,容器组件就可以用add方法加入组件。 布局管理器用来确定组件在容器中的位置和大小,AWT中定义了布局管理器接口LayoutManager的实现类来实现此功能。
第一章 面向对象程序设计.
Java Applet的运行原理 在网页向Java Applet传值 在Java Applet中播放声音 在Java Applet中使用组件
第11章 Java多媒体技术.
第八讲 图形用户界面与事件处理 1、使用AWT(Abstract Window Toolkit)组件
第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 菜单
第三部分 Java语言编程应用篇 第6章 Java语言的 图形用户界面开发技术 (之二).
第二部分 Java语言基础篇 第4章 Java语言与面向对象 (之一).
版面配置與JPanel 版面配置原理 JAVA常用版面配置 JPanel JScrollPane 作業.
第三部分 Java语言编程应用篇 第6章 Java语言的 图形用户界面开发技术 (之一).
第三章 控制结构.
第九章 字符串.
Java程序设计 第10章 图形用户界面.
Ch02 視窗Swing套件 物件導向系統實務.
Java语言程序设计-图形用户界面设计(2)
Java布局管理 清华大学继续教育学院 IT教育培训中心.
第5章 面向对象程序设计 本章要点 5.1 面向对象程序设计概述 5.2 Java语言的面向对象程序设计 5.3 方法的使用和对象数组
2018/11/15 面向对象与多线程综合实验-GUI设计 教师:段鹏飞.
Java Applet 介绍.
Java语言程序设计 第六部分 Java图形用户界面.
Ch07 Java Applets 物件導向系統實務.
Java程序设计 JAVA 授课教师:赵小敏 浙江工业大学 软件学院
親愛的老師您好 感謝您選用本書作為授課教材,博碩文化準備本書精選簡報檔,特別摘錄重點提供給您授課專用。 說明: 博碩文化:
Chapter 9 設計的精細製作: 行動計算 Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz.
SWING 2018/11/23.
CH09 套件 物件導向程式設計(II).
記事本 物件導向系統實務.
JAVA 2 新觀念教本 ---邁向SCJP專業認證--- 易瓏資訊 林新德 著.
辅导课程六.
Java语言程序设计 第八部分 Applet小程序.
绘制圆与多边形 椭圆形 绘制椭圆形的方法是 drawOval(x ,y , width , height), 绘制实心椭圆形的方法是
第5章 构成用户界面的窗口环境 北京大学计算机系 代亚非.
Java程序设计 第12章 图形用户界面设计入门.
3.1 数据类型 3.2 标识符与关键字 3.3 常量 3.4 变量 3.5 运算符与表达式 3.6 一个编程实例
Ch04 事件處理 物件導向系統實務.
CH03 為自己的視窗加上小元件 物件導向系統實務.
CH04 視窗中元件排排坐 物件導向系統實務.
UI 软件 设计 页面布局(三).
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
第二章Java基本程序设计.
简单介绍 用C++实现简单的模板数据结构 ArrayList(数组, 类似std::vector)
组件 复选框(Checkbox)可以让用户进行多项选择。复选框有两种状态,分别为“开(on)”和“关(off)”。当用户点中复选框的时候,复选框的状态就会改变。 1、创建复选框 (1)声明复选框。 Checkbox mycheckbox =new Checkbox (); (2)添加复选框。将复选框组件放置到容器中。
第二章 Java基本语法 讲师:复凡.
_13简单的GDI绘图操作 本节课讲师——void* 视频提供:昆山爱达人信息技术有限公司 官网地址:
Chapter 18 使用GRASP的对象设计示例.
第十二章 JFC/Swing 概述  Swing组件  Swing应用程序结构  JComponent类.
第二章 Java基本语法 讲师:复凡.
第6章 面向对象的高级特征 学习目标 本章要点 上机练习 习 题.
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
Applet.
只要功夫深 铁杵磨成针 —— 写在前面的话.
迴圈(重複性結構) for while do while.
创建、启动和关闭Activity 本讲大纲: 1、创建Activity 2、配置Activity 3、启动和关闭Activity
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
10 图形用户界面.
第二章 Java基本语法 讲师:复凡.
Summary
变量定位图形 Java中数据的类型分为四种:基本数据类型、数组类型、类类型以及接口类型。任何常量和变量都一定是上述四种数据类型中的一种。简单数据类型的实例化有两种:变量和常量。 变量名和常量名必须是Java语言中合法的标识符。 常量是在程序运行期间值不改变的量。 变量是在程序运行期间值可通过赋值改变的量,
Presentation transcript:

4.4 布局管理器

4.4 布局管理器 布局管理器用来确定组件在容器中的位置和大小,AWT中定义了布局管理器接口LayoutManager的实现类来实现此功能。

4.4 布局管理器 LayoutManager 的实现类 FlowLayout BorderLayout GridLayout GridBagLayout CardLayout Null FlowLayout BorderLayout LayoutManager 的实现类

4.4 布局管理器 1、FlowLayout布局管理器 4.4 布局管理器 1、FlowLayout布局管理器 FlowLayout是一种最简单的布局管理,是Panel的默认布局。它以流式自左向右、自上而下地放置容器中的组件,其默认方式为居中对齐方式,也可以手工设置左对齐或右对齐。

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

4.4 布局管理器 FlowLayout布局管理器 最简单的界面布局方式,从左至右、从上至下按顺序依次摆放组件: 4.4 布局管理器 FlowLayout布局管理器 最简单的界面布局方式,从左至右、从上至下按顺序依次摆放组件: setLayout(new FlowLayout()); add(button1); add(button2); add(button3); add(button4); add(button5);

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

4.4 布局管理器 BorderLayout的主要方法 int getHgap( ) 返回组件间距 int getVgap( ) 返回列间距 4.4 布局管理器 BorderLayout的主要方法 int getHgap( ) 返回组件间距 int getVgap( ) 返回列间距 void setHgap(int) 设置组件间距 void setVgap(int) 设置列间距

4.4 布局管理器 BorderLayout布局管理器 按东南西北中五个区域摆放组件,通常作为窗口主框架 setLayout(new BorderLayout()); add(“North”, button1); add(“West”, button2); add(“East”, button3); add(“South”, button4); add(“Center”, button5);

1 2 3 4 4.4 布局管理器 3、GridLayout布局管理器 4.4 布局管理器 3、GridLayout布局管理器 1 4 2 3 GridLayout GridLayout布局将容器划分成m行x n列大小相同的格子,组件放在格子中。 创建默认的GridLayout布局,所有组件在一行显示: GridLayout() 以指定的行数、列数创建GridLayout布局: GridLayout(int,int) 以指定的行数、列数、行间距、列间距创建布局: GridLayout(int,int,int,int)

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

4.4 布局管理器 GridLayout布局管理器 4.4 布局管理器 GridLayout布局管理器 最复杂、最灵活的布局方式,将容器空间划分成网格,每个组件可占用多 个网格。通常还需要使用GridBagConstraints对象设置组件占用的格数和 方位。加入组件前,需要调用布局管理器对象的setConstraints()方法设置 组件的显示约束。

4.4 布局管理器 GridLayout布局管理器 各组件占用相等的格空间 setLayout(new GridLayout(3, 2)); 4.4 布局管理器 GridLayout布局管理器 各组件占用相等的格空间 setLayout(new GridLayout(3, 2)); add(button1); add(button2); add(button3); add(button4); add(button5);

4.4 布局管理器 import java.applet.*; import java.awt.*; 4.4 布局管理器 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()); //随机加入空白 }

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

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

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

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

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

谢谢观看!