Swing布局管理器

package cn.Douzi.Graphics;

import java.awt.*;
import javax.swing.*;

/**
 * BorderLayout 演示
 * 1. 继承JFrame
 * 2. 定义你需要的各个组件
 * 3. 创建组件(构造函数)
 * @author Douzi
 *
 */
public class Demo_layout extends JFrame {

    //定义组件
    JButton jb1, jb2, jb3, jb4, jb5;

    public static void main(String[] args) {

        Demo_layout test1 = new Demo_layout();

    }

    public Demo_layout()
    {
        //创建组件
        jb1 = new JButton("东部");
        jb2 = new JButton("北部");
        jb3 = new JButton("中部");
        jb4 = new JButton("南部");
        jb5 = new JButton("西部");

        //添加各个组件
        /**
         * 1.不用添加所有组件
         * 2.中部布件会自动调节大小
         */
        this.add(jb1, BorderLayout.EAST);
        this.add(jb2, BorderLayout.NORTH);
        this.add(jb3, BorderLayout.CENTER);
        this.add(jb4, BorderLayout.SOUTH);
        this.add(jb5, BorderLayout.WEST);

        //设置窗体属性
        this.setTitle("边界布局案例");
        this.setSize(300, 300);
        this.setLocation(300, 300);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        this.setVisible(true);
    }

}

package cn.Douzi.Graphics;

import java.awt.*;
import javax.swing.*;

public class Demo_FlowLayout extends JFrame {

    JButton jb1, jb2, jb3, jb4, jb5, jb6;

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Demo_FlowLayout test = new Demo_FlowLayout();

    }

    public Demo_FlowLayout()
    {
        //创建组件
        jb1 = new JButton("关羽");
        jb2 = new JButton("张飞");
        jb3 = new JButton("赵云");
        jb4 = new JButton("黄忠");
        jb5 = new JButton("马超");
        jb6 = new JButton("魏延");

        //添加组件
        this.add(jb1);
        this.add(jb2);
        this.add(jb3);
        this.add(jb4);
        this.add(jb5);
        this.add(jb6);

        //设置布局管理器
        //默认居中对齐
        this.setLayout(new FlowLayout(FlowLayout.LEFT)); 

        //设置窗体属性
        this.setTitle("边界布局案例");
        this.setSize(300, 300);
        this.setLocation(300, 300);
        //禁止让窗口缩放
        this.setResizable(false);
        //关闭时,退出
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setVisible(true);

    }
}

package cn.Douzi.Graphics;

import java.awt.*;
import javax.swing.*;

/**
 * 网格布局
 * 组件的相对位置,不随容器缩放而变化
 * 所有组件的大小相同
 * 可以通过 GridLayout(int rows, int cols, int hgap, int vgap)
 * 指定网格的行/列, 水平间隙/垂直间隙
 * @author Douzi
 */

/**
 * 开发GUI程序步骤
 * 继承JFrame
 * 定义需要的组件
 * 创建组件
 * 设置布局管理器
 * 添加组件
 * 显示窗体
 */
public class Demo_GridLayout extends JFrame {

    int size = 9;
    JButton jbs[] = new JButton[size];

    public Demo_GridLayout() {
        for (int i = 0; i < size; i++) {
            jbs[i] = new JButton(String.valueOf(i));
        }

        //设置网格布局
        this.setLayout(new GridLayout(3, 3, 10, 10));

        //添加组件
        for (int i = 0; i < size; i++) {
            this.add(jbs[i]);
        }

        //设置窗体属性
        this.setTitle("网格布局案例");
        this.setSize(300, 300);
        //关闭则关闭
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setLocation(300, 300);

        //禁止改变大小
        this.setResizable(false);
        //显示
        this.setVisible(true);

    }

    public static void main(String[] args) {
        Demo_GridLayout grid = new Demo_GridLayout();

    }

}

时间: 2024-11-07 16:56:14

Swing布局管理器的相关文章

swing布局管理器简介

转载:http://stevencjh.blog.163.com/blog/static/1218614612010101775336729/ swing布局管理器简介 一 .BorderLayout布局管理器:BorderLayout 也是一种非常简单的布局策略,它把容器内的空间简单地划分为东.西.南.北.中无个区域,没加入一个组件都应该指明把这个组件加在哪个区域中. BorderLayout是顶层容器( JFrame, JDialog, 和 JApplet )的默认布局管理器.有五个位置组件

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

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

【Java Swing探索之路系列】之三:Java Swing布局管理器组件

作者:郭嘉 邮箱:[email protected] 博客:http://blog.csdn.net/allenwells github:https://github.com/AllenWell 一 BorderLayout BorderLayout是一种简单的布局策略,可以将其看作一个组件.它把容器分为东.南.西.北.中5个区域,每个组件将占据某个区域.而 这5个区域分别被命名为NORTH, WEST, EAST, CENTER, SOUTH,它们都被定义为静态 常量.静态常量可以直接引用,如

【Swing 2】布局管理器上

很苦逼的是,每次想记录一个小程序,发现,要给别人讲清楚,总是得分很多模块讲解. 所以今天来讲下Swing组件的三大布局管理器. 参考:<Head First Java>第十三章 1. BorderLayout--边界布局 2. FlowLayout--顺序布局 3. BoxLayout--不知道叫啥 1. BorderLayout(边界布局) 该管理器把背景分成东南西北中五大块,这是框架默认的布局管理器 1 package demo; 2 3 import javax.swing.*; 4 i

Java 的swing.GroupLayout布局管理器的使用方法和实例(转)

GroupLayout 是一个 LayoutManager,它将组件按层次分组,以决定它们在 Container 中的位置.GroupLayout 主要供生成器使用,但也可以手工编码.分组由 Group 类的实例来完成.GroupLayout 支持两种组.串行组 (sequential group) 按顺序一个接一个地放置其子元素.并行组 (parallel group) 能够以四种方式对齐其子元素. 每个组可以包含任意数量的元素,其中元素有 Group.Component 或间隙 (gap).

(转)Java 的swing.GroupLayout布局管理器的使用方法和实例

摘自http://www.cnblogs.com/lionden/archive/2012/12/11/grouplayout.html (转)Java 的swing.GroupLayout布局管理器的使用方法和实例 GroupLayout 是一个 LayoutManager,它将组件按层次分组,以决定它们在 Container 中的位置.GroupLayout 主要供生成器使用,但也可以手工编码.分组由 Group 类的实例来完成.GroupLayout 支持两种组.串行组 (sequenti

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 Swing界面编程(8)---FlowLayout布局管理器

package com.beyole.util; import java.awt.FlowLayout; import javax.swing.JButton; import javax.swing.JFrame; public class test6 { public static void main(String[] args) { JFrame frame = new JFrame("FlowLayout"); frame.setLayout(new FlowLayout(Flo

Java Swing界面编程(9)---BorderLayout布局管理器

package com.beyole.util; import java.awt.BorderLayout; import java.awt.Button; import javax.swing.JFrame; public class test7 { public static void main(String[] args) { JFrame frame=new JFrame("Crystal"); frame.setLayout(new BorderLayout(3,3));//