JAVA 三种基本的布局管理器

1.FlowLayout

最简单的布局管理器,使用该框架,按照组件添加的顺序,从左到右的将组件排列在容器中。

当一行放满后,开始新的一行。可以使用三个常量(用来指定组建的对齐方式):

FlowLayout.RIGHT

FlowLayout.CENTER

FlowLayout.LEFT

package chapter12;
import javax.swing.JFrame;

import java.awt.FlowLayout;

import javax.swing.JLabel;//
import javax.swing.JTextField;//像素长

@SuppressWarnings("serial")
public class ShowFlowLayout extends JFrame{
	public ShowFlowLayout(){
		setLayout(new FlowLayout(FlowLayout.RIGHT,10,20));
		/*  等价于
		 *  注释部分创建了  对FlowLayout的对象layout的    显示引用,这个显示引用是没有必要的,因为该对象在showflowlayout类中并不是直接引用
		FlowLayout layout = new FlowLayout(FlowLayout.RIGHT,10,20);
		setLayout(layout);
		*/
		add(new JLabel("First name"));
		add(new JTextField(20));
		add(new JLabel("MI"));
		add(new JTextField(1));
		add(new JLabel("last name"));
		add(new JTextField(8));
	}
	public static void main(String[] args) {
		ShowFlowLayout frame = new ShowFlowLayout();
		frame.setTitle("Showflowlayout");
		frame.setSize(600, 600);
		frame.setLocationRelativeTo(null);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setVisible(true);
	}
}

2.GridLayout管理器

/*

* 以网格的形式管理组件。

* 组件按照他们添加的顺序从左到右排列。

* 行数或者列数都可以为0 但不能都为0

* 如果一个为0 另一个不为0 则不为0的那一部分的行或列已经被固定 为0的行或列被布局管理器动态的决定。

* ex:一个网格有0行3列的10个组件   GridLayout 会为其分配3个固定的列 和 4行  最后一行只包含一列

* 如果 都不为 0 则 行为主导参数 行是固定的 列会动态的分配

* 如果改变这个框架的大小,按钮的布局保持不变

*/

package chapter12;
/*
 * 以网格的形式管理组件。
 * 组件按照他们添加的顺序从左到右排列。
 * 行数或者列数都可以为0 但不能都为0
 * 如果一个为0 另一个不为0 则不为0的那一部分的行或列已经被固定 为0的行或列被布局管理器动态的决定。
 * ex:一个网格有0行3列的10个组件   GridLayout 会为其分配3个固定的列 和 4行  最后一行只包含一列
 * 如果 都不为 0 则 行为主导参数 行是固定的 列会动态的分配
 */
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JFrame;
import java.awt.GridLayout;

public class ShowGridLayout extends JFrame {
  public ShowGridLayout() {
    // Set GridLayout, 3 rows, 2 columns, and gaps 5 between
    // components horizontally and vertically
    setLayout(new GridLayout(3, 2, 5, 5));
    // Add labels and text fields to the frame
    add(new JLabel("First Name"));
    add(new JTextField(8));
    add(new JLabel("MI"));
    add(new JTextField(1));
    add(new JLabel("Last Name"));
    add(new JTextField(8));
  }
  public static void main(String[] args) {
    ShowGridLayout frame = new ShowGridLayout();
    frame.setTitle("ShowGridLayout");
    frame.setSize(200, 125);
    frame.setLocationRelativeTo(null); // Center the frame
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setVisible(true);
  }
}

3.borderlayout

package chapter12;
/*
 * Borderlayout 将容器分成五个区域
 */
import java.awt.BorderLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
@SuppressWarnings("serial")
public class ShowBorderLayout extends JFrame{
	public ShowBorderLayout(){
		setLayout(new BorderLayout(5,10));

		add(new JButton("EAST"),BorderLayout.EAST);
		add(new JButton("south"),BorderLayout.SOUTH);
		add(new JButton("WEST"),BorderLayout.WEST);
		add(new JButton("north"),BorderLayout.NORTH);
		add(new JButton("center"),BorderLayout.CENTER);
	}
	public static void main(String[] args) {
		ShowBorderLayout frame = new ShowBorderLayout();
		frame.setTitle("showborderlayout");
		frame.setSize(300,200);
		frame.setLocationRelativeTo(null);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setVisible(true);
	}

}

时间: 2024-10-13 02:49:23

JAVA 三种基本的布局管理器的相关文章

Java Swing 之流式布局管理器

/** * java 之流式布局 * @author gao */ package com.gao; import java.awt.FlowLayout; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.border.EmptyBorder; @SuppressWarnings("serial") public class Flow

JAVA语言GUI编程之布局管理器总结

/*   时间:2015年3月18日09:21:57   目的:测试嵌套布局的使用.   Panel 是最简单的容器类.应用程序可以将其他组件放在面板提供的空间内,这些组件包括其他面板.   面板的默认布局管理器是 FlowLayout 布局管理器.   面板的构造方法有两个:    public Panel(LayoutManager layout)创建一个具有指定布局管理器的面板    public Panel();使用默认的布局管理器创建面板,所有面板的默认布局管理器都是FlowLayou

java基础 布局管理器

概念: 组建在容器(比如JFrame)中的位置和 大小 是由布局管理器来决定的.所有的容器都会使用一个布局管理器,通过它来自动进行组建的布局管理. 种类: java共提供了物种布局管理器:流式布局管理器(FlowLayout),边界布局管理器(BorderLayout),网络布局管理器(GridLayout),卡片布局管理器(CardLayout),网格布局管理器(GridBagLayout).其中前三种是最常见的布局管理器. 一.  边界布局管理器 边界布局管理器 BorderLayout 注

JAVA 流式布局管理器

//流式布局管理器 import java.awt.*; import javax.swing.*; public class Jiemian2 extends JFrame{ //定义组件 JButton[] an = {null,null,null,null,null,null,null,null}; public static void main(String[] args){ //运行本类的构造方法 Jiemian2 jiemian = new Jiemian2(); } public

Java 的布局管理器GridBagLayout的使用方法(转)

GridBagLayout是java里面最重要的布局管理器之一,可以做出很复杂的布局,可以说GridBagLayout是必须要学好的的, GridBagLayout 类是一个灵活的布局管理器,它不要求组件的大小相同便可以将组件垂直.水平或沿它们的基线对齐. 每个 GridBagLayout 对象维持一个动态的矩形单元网格,每个组件占用一个或多个这样的单元,该单元被称为显示区域. 下面就通过一个记事本案例去说明GridBagLayout的使用方法. 分析: 带有箭头的说明可以拉伸的. 4占用4个格

JAVA学习笔记(四十五) - 布局管理器

FlowLayout流式布局管理器 /* * FlowLayout流式布局管理器 */ public class Test03 { public static void main(String[] args) { Frame frame=new Frame("My Frame"); Button btn1=new Button("按钮1"); Button btn2=new Button("按钮2"); Button btn3=new Butto

Java Swing布局管理器GridBagLayout的使用示例 [转]

GridBagLayout是java里面最重要的布局管理器之一,可以做出很复杂的布局,可以说GridBagLayout是必须要学好的的, GridBagLayout 类是一个灵活的布局管理器,它不要求组件的大小相同便可以将组件垂直.水平或沿它们的基线对齐. 每个 GridBagLayout 对象维持一个动态的矩形单元网格,每个组件占用一个或多个这样的单元,该单元被称为显示区域. 下面就通过一个记事本案例去说明GridBagLayout的使用方法. 分析: 带有箭头的说明可以拉伸的. 4占用4个格

Java 的布局管理器GridBagLayout的使用方法【图文说明】

https://www.cnblogs.com/taoweiji/archive/2012/12/14/2818787.html GridBagLayout是java里面最重要的布局管理器之一,可以做出很复杂的布局,可以说GridBagLayout是必须要学好的的, GridBagLayout 类是一个灵活的布局管理器,它不要求组件的大小相同便可以将组件垂直.水平或沿它们的基线对齐. 每个 GridBagLayout 对象维持一个动态的矩形单元网格,每个组件占用一个或多个这样的单元,该单元被称为

JavaSE学习55:GUI编程之布局管理器

一布局管理器概述 Java语言中,提供了布局管理器类的对象可以管理. 管理Component对象在Container对象中的布局,不必直接设置Component对象位置和大小.每个Container对象 都有一个布局管理器对象,当容器需要对某个组件进行特定或判断其大小尺寸时,就会调用其对应的布局管理器,调 用Container对象的setLayout()方法改变其布局管理器对象. AWT提供了5种布局管理器,分别为: FlowLayout布局管理器 BorderLayout布局管理器 GridL