组:一些组件的集合
                      连续组:一个接着一个摆放
                      并行组:一个组在另一个组的顶部
                      水平方向:连续组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. MySQL开发指南

    数据库开发是数据库管理系统(DBMS)和数据库应用软件设计研发的总称,数据运维.参与数据库生产环境的问题优化和解决等方面的事宜. 1.关于MySQL数据库 2.搭建MySQL环境 3.入门常用SQL. ...

  2. java类的继承,多态,抽象类与接口

    知识点梳理:     1,怎样定义自己的类. MyStarFrame,MyStarPanel 类中定义: (1)属性(数据),变量. (2)方法(函数),行为. (3)构造方法(特征,作用,何时被调用 ...

  3. linux忘记密码/修改密码

    方法一:用set password命令 首先,登陆mysql ? 1 mysql -u root -p 然后执行set password命令 ? 1 set password for root@loc ...

  4. asp.net core 2.0 Microsoft.Extensions.Logging 文本文件日志扩展

    asp.net core微软官方为日志提供了原生支持,有如下实现 Console Debug EventLog AzureAppServices TraceSource EventSource 并且在 ...

  5. python时间序列分析

              题记:毕业一年多天天coding,好久没写paper了.在这动荡的日子里,也希望写点东西让自己静一静.恰好前段时间用python做了一点时间序列方面的东西,有一丁点心得体会想和大家 ...

  6. shell 变量的使用

    变量定义 name="xiaoming"; age=12: 变量名和等号之间不能有空格,否则会报错,同时变量名的命名和其他语言的命名规则基本一样 首个字符必须为字母(a-z,A-Z ...

  7. Linux修改IP,DNS和网关

    以Red Hat Enterprise Linux 5.2为例1.最常用的给网卡配置ip的命令为 #ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up ...

  8. JDBC在springMvc等框架中使用的方式

    连接池jar:c3p0 代码结构 ----------------------------------------------- 配置文件  config.properties #hibernate. ...

  9. Vue过渡效果之JS过渡

    前面的话 与CSS过渡不同,JS过渡主要通过事件进行触发.本文将详细介绍Vue过渡效果之JS过渡 事件钩子 JS过渡主要通过事件监听事件钩子来触发过渡,共包括如下的事件钩子 <transitio ...

  10. 2、粘包现象(struct模块)

    昨天我们所做的套接字是有漏洞的,它会出现粘包现象,没有发现这个问题的我们今天会进行演示.今天也会稍微讲解一下基于udp的套接字. 一.基于udp的套接字 udp是无链接的,先启动哪一端都不会报错 ud ...