组:一些组件的集合
                      连续组:一个接着一个摆放
                      并行组:一个组在另一个组的顶部
                      水平方向:连续组b1,b2.并行组g1{b3,b4}
                       垂直方向:连续组{b1,b2,b3},b4  
效果图:
aaarticlea/png;base64,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" alt="" />
 
代码:
  1. /**
  2. *
  3. */
  4. package com.niit.javagui;
  5.  
  6. import javax.swing.GroupLayout;
  7. import javax.swing.JButton;
  8. import javax.swing.JFrame;
  9.  
  10. /**
  11. * @author: Annie
  12. * @date:2016年5月31日
  13. * @description:
  14. */
  15. public class GroupLayoutDemo extends JFrame{
  16.  
  17. JButton b1,b2,b3,b4;
  18. public GroupLayoutDemo() {
  19. setVisible(true);
  20. setSize(400,400);
  21. setTitle("GroupLayoutDemo");
  22. setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  23.  
  24. GroupLayout layout = new GroupLayout(getContentPane());
  25. setLayout(layout);
  26. b1 = new JButton("b1");
  27. b2 = new JButton("b2");
  28. b3 = new JButton("b3");
  29. b4 = new JButton("b4");
  30. //创建一个连续组对象 作为水平方向的布局
  31. GroupLayout.SequentialGroup sg1 = layout.createSequentialGroup();
  32. sg1.addComponent(b1);
  33. sg1.addComponent(b2);
  34.  
  35. //b3和b4并行的小组
  36. GroupLayout.ParallelGroup pg1=layout.createParallelGroup();
  37. pg1.addComponent(b3);
  38. pg1.addComponent(b4);
  39. sg1.addGroup(pg1);
  40. //指定水平方向布局是sg1
  41. layout.setHorizontalGroup(sg1);
  42.  
  43. GroupLayout.SequentialGroup sg2 = layout.createSequentialGroup();
  44. GroupLayout.ParallelGroup pg2=layout.createParallelGroup();
  45. pg2.addComponent(b1);
  46. pg2.addComponent(b2);
  47. pg2.addComponent(b3);
  48. sg2.addGroup(pg2);
  49. sg2.addComponent(b4);
  50. layout.setVerticalGroup(sg2);
  51. }
  52. public static void main(String[] args) {
  53. new GroupLayoutDemo();
  54. }
  55. }

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. 【学习OpenCV】——2.4对图像进行平滑处理

    作者基于WIN10+VS2015+OpenCV3.0.0 (本人在学习的时候参考了xiahouzuoxin 的有关文章,在此感谢 ) 图像平滑与图像模糊是同一概念,主要用于图像的去噪.平滑要使用滤波器 ...

  2. 开机出现Oxc000000e故障的解决方法

    Oxc000000e故障 故障表现:开机时不能正常地登录系统,而是直接弹出图2所示的Oxc000000e故障提示. 原因分析:由于安装或卸载某些比较特殊的软件,往往会对Win7的引导程序造成非常严重的 ...

  3. 自定义MySQL函数

    1.MySQL创建函数语法: CREATE [DEFINER = { user | CURRENT_USER }] FUNCTION sp_name ([func_parameter[,...]]) ...

  4. python基础===Python性能优化的20条建议

    优化算法时间复杂度 算法的时间复杂度对程序的执行效率影响最大,在Python中可以通过选择合适的数据结构来优化时间复杂度,如list和set查找某一个元素的时间复杂度分别是O(n)和O(1).不同的场 ...

  5. Ransom Note(383)

    题目:Given an arbitrary ransom note string and another string containing letters from all the magazine ...

  6. Eclipse快速补全行末分号

    Eclipse快速补全行末分号 Eclipse快捷键跳到行末补全分号 Eclipse快速结束当前语句(在行末加上分号,就是当前语句结束) Intellij IDEA 里是有快速补全分号的功能(快捷键: ...

  7. Could not establish trust relationship for the SSL/TLS secure channel 问题解决方法

    最近在写一个跟第三方对接的数据同步服务,在本地都没有问题,今天放到生产环境测试报错: System.Net.WebException: The underlying connection was cl ...

  8. 利用CSS hover伪类改变其他元素的总结

    :hover 伪类经常用于页面的一些鼠标交互.链接点击变化,增强页面的用户体验,但是可以用来改变其他元素样式,可以在不使用JS 的情况下,达到想要的页面效果. 1.hover改变自身的效果: 鼠标悬浮 ...

  9. 一篇文章学会springMVC(转)

    说在前面 本文只是入门 为什么用springMVC?springMVC有什么有缺点?springMVC和Struts有什么区别?等等这些问题可以参考网路上资源,本文的重点是快速带入,让大家了解熟悉sp ...

  10. linux系统参数调优

    执行 ulimit -a 查看系统配置 需要修改max user processes 和 open files 这两个值 vim /etc/security/limits.conf   #新增下面几行 ...