布局管理器 ■在许多其他窗口系统中,通过使用硬编码(hard-code)的 像素尺寸来安排用户界面组件。例如,在窗口中把一个按钮 放在位置(10,10)处。使用硬编码的像素尺寸,用户界面 可能在一个系统中看上去很好,但不适合另一个系统。Java 的布局管理器提供了一层抽象,自动把用户界面映射到所有 的窗口系统。 Java的GUI组件在容器中放置的位置由容器的布局管理器来 安排。布局管理器根据自己的规则和属性设買来摆放组件, 例如, Flow Layout布局管理器按行从左向右依次放置组件, 行填满再开始新的一行 布局管理器是使用布局管理器类创建」 类都实现了 LayoutManager接 器使 个布局管理器 setlayout( LayoutManager layout)方法在容器中设置布局管 理器。如 ayout Manager layout=new Flow layout container. setlayout (layout)
布局管理器 ◼ 在许多其他窗口系统中,通过使用硬编码(hard-code)的 像素尺寸来安排用户界面组件。例如,在窗口中把一个按钮 放在位置(10,10)处。使用硬编码的像素尺寸,用户界面 可能在一个系统中看上去很好,但不适合另一个系统。Java 的布局管理器提供了一层抽象,自动把用户界面映射到所有 的窗口系统。 ◼ Java的GUI组件在容器中放置的位置由容器的布局管理器来 安排。布局管理器根据自己的规则和属性设置来摆放组件, 例如,FlowLayout布局管理器按行从左向右依次放置组件, 一行填满再开始新的一行。 ◼ 布局管理器是使用布局管理器类创建的,每一个布局管理器 类都实现了LayoutManager接口。容器使用 setLayout(LayoutManager layout)方法在容器中设置布局管 理器。如: LayoutManager layout=new FlowLayout; container.setLayout(layout);
F1 wAYout布局管理器 FlowLayout是最简单的布局管理器。按照添加的顺序,由左到 右将组件排列在容器中,放满一行时,就开始新的一行 public FlowLayout(int align, int hGap, int vGap 按照指定的对齐方式 align( Flow Layout. RIGHT Flow Layout. CENTER、 Flow Layout. LEFT)、水平间距hGap 和垂直间距vGap构造一个新的 Flow Layout布局管理器。 public FlowLayout (int alignment 按照指定的对齐方式 alignment构造一个新的 Flow Layout布 局管理器,默认的间距都是5个像素 public Flowlayout ( 构造一个新的 Flow Layout布局管理器,默认的对齐方式是居 中,默认的间距都是5个像素
FlowLayout布局管理器 ◼ FlowLayout是最简单的布局管理器。按照添加的顺序,由左到 右将组件排列在容器中,放满一行时,就开始新的一行。 ◼ public FlowLayout(int align, int hGap, int vGap) 按照指定的对齐方式 align(FlowLayout.RIGHT、 FlowLayout.CENTER、FlowLayout.LEFT)、水平间距hGap 和垂直间距vGap构造一个新的FlowLayout布局管理器。 ◼ public FlowLayout(int alignment) 按照指定的对齐方式 alignment构造一个新的FlowLayout布 局管理器,默认的间距都是5个像素。 ◼ public FlowLayout() 构造一个新的FlowLayout布局管理器,默认的对齐方式是居 中,默认的间距都是5个像素
Example74测试F1 wayout管理器 问题:编写程序, 8 Show FlowLayout x 使用 FlowLayout布 Component 1 Component 2 Component 3 局管理器,在一个 框架的内容窗格中 Component 4 Component 5 Component 6 添加10个按钮 Component 7 Component 8 Component 9 Component 10 Show Flow Layout
Example 7.4 测试 FlowLayout管理器 问题:编写程序, 使用FlowLayout布 局管理器,在一个 框架的内容窗格中 添加10个按钮 ShowFlowLayout
Example74测试F1 plAyout管理器(续) 本例使用与前一节不同的风格创建了一个程序,前 节的程序利用 JFrame类创建框架,本例扩展 JFrame类创建了名为 show Flow Layout的类,其构造 方法创建组件,并将它们放置在框架中,而在main 方法创建 show Flow Layout实例。这是创建GUI应用 程序较好的方法,理由有: 创建一个GUI应用程序就是要创建一个框架,所 以扩展]rame类来定义一个框架是很自然的; ■如果需要的话,这个新类可以重复使用,使用 致的风格可以使程序容易阅读
Example 7.4 测试 FlowLayout管理器(续) ◼本例使用与前一节不同的风格创建了一个程序,前 一节的程序利用JFrame类创建框架,本例扩展 JFrame类创建了名为showFlowLayout的类,其构造 方法创建组件,并将它们放置在框架中,而在main 方法创建showFlowLayout实例。这是创建GUI应用 程序较好的方法,理由有: ◼ 创建一个GUI应用程序就是要创建一个框架,所 以扩展JFrame类来定义一个框架是很自然的; ◼ 如果需要的话,这个新类可以重复使用,使用 一致的风格可以使程序容易阅读