组:一些组件的集合
                      连续组:一个接着一个摆放
                      并行组:一个组在另一个组的顶部
                      水平方向:连续组b1,b2.并行组g1{b3,b4}
                       垂直方向:连续组{b1,b2,b3},b4  
效果图:
aaarticlea/png;base64,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" alt="" />
 
代码:
/**
*
*/
package com.niit.javagui; import javax.swing.GroupLayout;
import javax.swing.JButton;
import javax.swing.JFrame; /**
* @author: Annie
* @date:2016年5月31日
* @description:
*/
public class GroupLayoutDemo extends JFrame{ JButton b1,b2,b3,b4;
public GroupLayoutDemo() {
setVisible(true);
setSize(400,400);
setTitle("GroupLayoutDemo");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); GroupLayout layout = new GroupLayout(getContentPane());
setLayout(layout);
b1 = new JButton("b1");
b2 = new JButton("b2");
b3 = new JButton("b3");
b4 = new JButton("b4");
//创建一个连续组对象 作为水平方向的布局
GroupLayout.SequentialGroup sg1 = layout.createSequentialGroup();
sg1.addComponent(b1);
sg1.addComponent(b2); //b3和b4并行的小组
GroupLayout.ParallelGroup pg1=layout.createParallelGroup();
pg1.addComponent(b3);
pg1.addComponent(b4);
sg1.addGroup(pg1);
//指定水平方向布局是sg1
layout.setHorizontalGroup(sg1); GroupLayout.SequentialGroup sg2 = layout.createSequentialGroup();
GroupLayout.ParallelGroup pg2=layout.createParallelGroup();
pg2.addComponent(b1);
pg2.addComponent(b2);
pg2.addComponent(b3);
sg2.addGroup(pg2);
sg2.addComponent(b4);
layout.setVerticalGroup(sg2);
}
public static void main(String[] args) {
new GroupLayoutDemo();
}
}

GUI(GroupLayout 分组布局)的更多相关文章

  1. 【Python】 用户图形界面GUI wxpython II 布局和事件

    wxpython - 布局和事件 这章主要记录布局器Sizer以及事件的用法. // 目前还需要记录的:Sizer的Add方法加空白,Sizer的Layout,Sizer的Remove如何有效 ■ 布 ...

  2. Java Gui坐标绝对布局

    JFrame 要setLayout 为null setSize 设置大小 setLocation 设置位置 下面是自己准备做的一个QQ群助手,抓的是qun.qq.com的协议 这是界面设计图 运行效果 ...

  3. Android GUI之View布局

    在清楚了View绘制机制中的第一步测量之后,我们继续来了解分析View绘制的第二个过程,那就是布局定位.继续跟踪分析源码,根据之前的流程分析我们知道View的绘制是从RootViewImpl的perf ...

  4. 十. 图形界面(GUI)设计5.布局设计

    在界面设计中,一个容器要放置许多组件,为了美观,为组件安排在容器中的位置,这就是布局设计.java.awt中定义了多种布局类,每种布局类对应一种布局的策略.常用的有以下布局类: FlowLayout, ...

  5. GUI容器之布局管理器

    布局管理器 布局管理器:frame.setLayout(); 默认值为new flowLayout() 流式布局 frame.setLayout(new FlowLayout(FlowLayout.R ...

  6. Java的GUI组件的布局管理器

    1 import java.awt.BorderLayout; 2 import java.awt.FlowLayout; 3 import java.awt.Font; 4 import java. ...

  7. java基础(swing+jsp+mybatis配置)

    JAVA SE GUI编程(swing) # 组件 描述 1 JFrame 一个普通的窗口(绝大多数 Swing 图形界面程序使用 JFrame 作为顶层容器) 2 JDialog 对话框 常用的中间 ...

  8. Python GUI教程(六):使用Qt设计师进行窗口布局

    本篇介绍使用qt设计师进行GUI窗口的布局管理,主要包含以下内容: 使用Qt设计师布局我们的窗口部件: 垂直布局: 水平布局: 网格布局: 使用间隔: 使用“伙伴”将label标签与窗口部件进行连接. ...

  9. c++学习书籍推荐《C++ GUI Qt 4编程(第2版)》下载

    下载地址:点我 百度云及其他网盘下载地址:点我 编辑推荐 <C++ GUI Qt 4编程(第2版)>讲授的大量Qt4编程原理和实践,都可以轻易将其应用于Qt4.4.Qt4.5及后续版本的Q ...

随机推荐

  1. sysstat -6.0.2 lib not install

    执行oracle安装包./setup.sh 后跳出,无法执行数据库的安装,并提示类似下面 的错误信息-- ERROR:===wed Aug 15 08:43:23 CST 2012===sysstat ...

  2. Java Collection(转载)

    在 Java2中,有一套设计优良的接口和类组成了Java集合框架Collection,使程序员操作成批的数据或对象元素极为方便.这些接口和类有很多对 抽象数据类型操作的API,而这是我们常用的且在数据 ...

  3. 分辨率验证工具 - 【Firesizer】的使用

    Firesizer是一款测试分辨率的插件. 下载方式:Firefox工具栏——〉工具——〉附加组件--〉搜索Firesizer并安装,浏览器会自动重启 使用方式:浏览器右下角直接切换分辨率即可,如下图 ...

  4. 微软认知服务 Luis

    学习认知服务 Luis(Language understand intellgence service) 简述: 开发者可以通过Luis开发可以理解人类语言的只能应用,学习人类语言分析语义. 利用这个 ...

  5. Mybatis(三)

    1 Mybaits--动态SQL 动态SQL是Mybatis强大特性之一.极大的简化我们拼装SQL的操作. 动态SQL元素和使用JSTL或其他类似基于XML的文本处理器相似. Mybatis采用功能强 ...

  6. Monad详解

    最近几年,函数式编程变得越来越流程,其代码简洁.副作用小.维护成本低等特点,使得许多其它的语言也开始支持函数式编程,比如Java 和 C#等.本文主要介绍一下函数式编程中的一个重要概念:Monad. ...

  7. Weex和React Native框架对比与选择

    工作原理 大致基本类同,JS-Native桥和前端渲染框架,只是使用框架技术不一样: Weex 阿里内部早期研发的一个通过 JSON 数据描述 native 渲染的项目WeApp以及Vue.js这款优 ...

  8. 秒懂OAuth2.0

    1.引言 本篇文章是介绍OAuth2.0中最经典最常用的一种授权模式:授权码模式 非常简单的一件事情,网上一堆神乎其神的讲解,让我不得不写一篇文章来终结它们. 一项新的技术,无非就是了解它是什么,为什 ...

  9. 为什么我们要使用Async、Await关键字

    前不久,在工作中由于默认(xihuan)使用Async.Await关键字受到了很多质问,所以由此引发这篇博文“为什么我们要用Async/Await关键字”,请听下面分解: Async/Await关键字 ...

  10. VMware Workstation 12 Pro 之安装林耐斯-LinuxMint-系统

    VMware Workstation 12 Pro 之安装林耐斯-LinuxMint-系统... ---------------------- ---------------------------- ...