今天终于耐着性子弄懂了GridBagLayout是怎么使用的。
构造函数:
GirdBagLayout()建立一个新的GridBagLayout管理器。
GridBagConstraints()建立一个新的GridBagConstraints对象。
GridBagConstraints(int gridx,int gridy,
int gridwidth,int gridheight,
double weightx,double weighty,
int anchor,int fill, Insets insets,
int ipadx,int ipady)建立一个新的GridBagConstraints对象,并指定其参数的值。
看着这一堆的参数就快烦死了,下面就了解一下参数的意思:
参数说明:
gridx,gridy —— 设置组件的位置,
gridx设置为GridBagConstraints.RELATIVE代表此组件位于之前所加入组件的右边。
gridy设置为GridBagConstraints.RELATIVE代表此组件位于以前所加入组件的下面。
建议定义出gridx,gridy的位置以便以后维护程序。gridx=0,gridy=0时放在0行0列。
gridwidth,gridheight —— 用来设置组件所占的单位长度与高度,默认值皆为1。
你可以使用GridBagConstraints.REMAINDER常量,代表此组件为此行或此列的最后一个组件,而且会占据所有剩余的空间。
weightx,weighty —— 用来设置窗口变大时,各组件跟着变大的比例。
当数字越大,表示组件能得到更多的空间,默认值皆为0。
anchor —— 当组件空间大于组件本身时,要将组件置于何处。
有CENTER(默认值)、NORTH、NORTHEAST、EAST、SOUTHEAST、WEST、NORTHWEST选择。
insets —— 设置组件之间彼此的间距。
它有四个参数,分别是上,左,下,右,默认为(0,0,0,0)。
ipadx,ipady —— 设置组件间距,默认值为0。
GridBagLayout里的各种设置都必须通过GridBagConstraints,因此当我们将GridBagConstraints的参数都设置
好了之后,必须new一个GridBagConstraints的对象出来,以便GridBagLayout使用。
代码片断:
JButton b;
GridBagConstraints c;
int gridx,gridy,gridwidth,gridheight,anchor,fill,ipadx,ipady;
double weightx,weighty;
Insets inset;
JFrame f=new JFrame();
GridBagLayout gridbag=new GridBagLayout();
Container contentPane=f.getContentPane();
contentPane.setLayout(gridbag);
b=new JButton("first");
gridx=0;
gridy=0;
gridwidth=1;
gridheight=1;
weightx=10;
weighty=1;
anchor=GridBagConstraints.CENTER;
fill=GridBagConstraints.HORIZONTAL;
inset=new Insets(0,0,0,0);
ipadx=0;
ipady=0;
c=new GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor,fill,inset,ipadx,ipady);
gridbag.setConstraints(b,c);
contentPane.add(b);
GridBagLayout这种管理器是十分灵活的,只不过他写起来比较麻烦,不过用了之后才发现他对界面的部署帮助很大。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/dracularking/archive/2008/04/22/2314336.aspx
构造函数:
GirdBagLayout()建立一个新的GridBagLayout管理器。
GridBagConstraints()建立一个新的GridBagConstraints对象。
GridBagConstraints(int gridx,int gridy,
int gridwidth,int gridheight,
double weightx,double weighty,
int anchor,int fill, Insets insets,
int ipadx,int ipady)建立一个新的GridBagConstraints对象,并指定其参数的值。
看着这一堆的参数就快烦死了,下面就了解一下参数的意思:
参数说明:
gridx,gridy —— 设置组件的位置,
gridx设置为GridBagConstraints.RELATIVE代表此组件位于之前所加入组件的右边。
gridy设置为GridBagConstraints.RELATIVE代表此组件位于以前所加入组件的下面。
建议定义出gridx,gridy的位置以便以后维护程序。gridx=0,gridy=0时放在0行0列。
gridwidth,gridheight —— 用来设置组件所占的单位长度与高度,默认值皆为1。
你可以使用GridBagConstraints.REMAINDER常量,代表此组件为此行或此列的最后一个组件,而且会占据所有剩余的空间。
weightx,weighty —— 用来设置窗口变大时,各组件跟着变大的比例。
当数字越大,表示组件能得到更多的空间,默认值皆为0。
anchor —— 当组件空间大于组件本身时,要将组件置于何处。
有CENTER(默认值)、NORTH、NORTHEAST、EAST、SOUTHEAST、WEST、NORTHWEST选择。
insets —— 设置组件之间彼此的间距。
它有四个参数,分别是上,左,下,右,默认为(0,0,0,0)。
ipadx,ipady —— 设置组件间距,默认值为0。
GridBagLayout里的各种设置都必须通过GridBagConstraints,因此当我们将GridBagConstraints的参数都设置
好了之后,必须new一个GridBagConstraints的对象出来,以便GridBagLayout使用。
代码片断:
JButton b;
GridBagConstraints c;
int gridx,gridy,gridwidth,gridheight,anchor,fill,ipadx,ipady;
double weightx,weighty;
Insets inset;
JFrame f=new JFrame();
GridBagLayout gridbag=new GridBagLayout();
Container contentPane=f.getContentPane();
contentPane.setLayout(gridbag);
b=new JButton("first");
gridx=0;
gridy=0;
gridwidth=1;
gridheight=1;
weightx=10;
weighty=1;
anchor=GridBagConstraints.CENTER;
fill=GridBagConstraints.HORIZONTAL;
inset=new Insets(0,0,0,0);
ipadx=0;
ipady=0;
c=new GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor,fill,inset,ipadx,ipady);
gridbag.setConstraints(b,c);
contentPane.add(b);
GridBagLayout这种管理器是十分灵活的,只不过他写起来比较麻烦,不过用了之后才发现他对界面的部署帮助很大。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/dracularking/archive/2008/04/22/2314336.aspx
发表评论
-
java.lang.UnsatisfiedLinkError: no j3dcore-ogl-chk in java.library.path
2011-08-19 17:01 2511Exception in thread "main& ... -
打jar包
2011-05-26 18:35 1037打成jar包: 1、没有其他类库jar文件和插件 ... -
Java实现通用线程池
2011-05-05 23:11 1055线程池通俗的描述就是预先创建若干空闲线程,等到需要用多线程去处 ... -
Java tutorial
2011-05-05 21:49 1025http://download.oracle.com/java ... -
java.awt.component.repaint()
2011-05-05 18:57 1044repaint public void repaint()R ... -
validate
2011-05-05 17:21 750validate public void validate( ... -
Class.forName和New的比较
2011-04-26 14:46 715在初始化一个类,生成一个实例的时候,newInstance() ... -
Responding to Window-Closing Events
2011-04-26 03:00 781By default, when the user close ... -
Map、Collection、List接口的总结
2011-04-26 02:52 848Map接口: | + -- ... -
swing中的布局管理器
2011-02-07 15:42 14534.CardLayout CardL ... -
swing中的最上层组件
2011-02-07 15:05 2755swing中几乎所有组件都是从JComponent衍生而来,也 ... -
Java swing 组件分层介绍:JRootPane,GlassPane,LayeredPane
2011-02-06 17:01 3063什么是Swing,什么又是ligh ... -
JTextArea操作
2011-01-11 18:03 1252JTextArea操作: (1)在JTextArea插入 ... -
double到int转换
2010-12-16 23:28 854double到int转换,有“截断”误差的。 可以通过+0.5 ... -
各种排序算法java实现
2010-11-25 15:20 599package org.rut.util.algorith ... -
Java中使用BigDecimal进行浮点数高精度计算
2010-11-25 15:18 816转自:http://chongtianpig.netbei.c ... -
利用java内存映射文件机制实现CRC循环冗余校验
2010-11-19 13:52 1108import java.nio.MappedByteBuf ... -
java中进行二进制,八进制,十六进制,十进制间进行相互转换
2010-11-19 13:48 655十进制转成十六进制: Integer.toHexString ... -
JScrollPane 例解
2010-11-19 01:49 1539类层次结构图: java.lang.Object -- ... -
JTextField JTextArea 区分
2010-11-19 01:14 1522一、单行文本输入框(JTextField) 在许多情况下 ...
相关推荐
- **复杂性**:由于提供了更多的控制选项,GridBagLayout相对于其他布局管理器来说更为复杂。 - **自适应性**:能够随着容器大小的变化而自动调整组件的位置和大小。 #### 三、GridBagConstraints类详解 ...
由于其灵活性,`GridBagLayout`成为创建复杂、自定义布局的理想选择,但它的确比其他布局管理器更复杂。下面我们将深入探讨`GridBagLayout`的使用方法和关键特性。 `GridBagLayout`的构造函数很简单,只有一个无...
GridBagLayout 布局详解 GridBagLayout 是 Java Swing 编程中的一种强大且灵活的布局管理器,它...通过设置 GridBagConstraints 对象的参数,可以控制组件在显示区域中的位置、大小和填充方式,从而实现复杂的布局。
`GridBagLayout`的工作原理是通过`GridBagConstraints`对象来设置每个组件的约束条件,包括网格的位置、大小、权重等,从而实现复杂的布局设计。开发者可以利用它来创建自定义的界面布局,使其具有良好的灵活性和可...
GridBagLayout的复杂性在于需要精心调整GridBagConstraints对象的参数以实现理想的布局效果。然而,它的灵活性使得它在创建复杂、动态或者自适应布局时非常有用。理解和熟练掌握GridBagLayout,可以帮助开发者构建出...
与其他布局管理器不同,`GridBagLayout`提供了更大的灵活性,使得开发者能够创建复杂的界面布局。以下是关于`GridBagLayout`的一些详细知识点: 1. **GridBagLayout的构造方法**: - `GridBagLayout()`:这是`...
在MATLAB开发过程中,`GridBagLayout`可以提供更复杂和精细的界面设计,特别是在处理不同大小和数量的组件时。 `eGridBagLayout.m`和`eScrollableGridBagLayout.m`是两个核心的MATLAB脚本或类文件。`eGridBagLayout...
GridBagLayout是Java Swing布局管理器之一,但MATLAB的 GUIDE工具(GUI Development Environment)同样支持它,使得我们可以利用GridBagLayout来创建复杂且灵活的布局。GridBagLayout允许在GUI窗口中动态地排列组件...
Java中的GridBagLayout布局管理器是Java Swing中最复杂但也是最灵活的布局管理工具,它允许容器中的组件具有不同的大小,可以跨越多个网格,并且组件之间可以部分重叠。理解GridBagLayout的关键在于掌握它的网格单元...
Java中的GridBagLayout布局管理器是Java Swing中最复杂但也是最灵活的布局管理工具,它允许组件在容器中以不同的大小存在,甚至可以跨多个网格并部分重叠。这种布局管理器将容器划分为一系列网格单元,每个组件可以...
Java 网格包 GridBagLayout 布局管理器是 Java 语言中最复杂和灵活的布局管理器之一。与网格布局管理器不同的是,网格包布局管理器允许容器中各个组件的大小各不相同,还允许组件跨越多个网格,也允许组件之间相互...
Java中的`GridBagLayout`是Swing库中最强大的布局管理器之一,允许开发者创建复杂的、自适应的用户界面。这个布局管理器通过一个网格来组织组件,每个组件可以在网格中占据一个或多个单元格,提供了极大的灵活性。...
1. GridBagLayout可以用于实现复杂的界面布局,例如数据表格、树形结构等。 2. GridBagLayout可以用于实现自适应的界面布局,能够根据屏幕的大小和方向自动调整组件的布局。 3. GridBagLayout可以用于实现灵活的界面...
通过上述内容可以看出,`GridBagLayout`和`GridBagConstraints`为开发者提供了强大的工具来实现复杂多变的布局需求。掌握了这两种工具的使用方法后,可以轻松应对大多数Java GUI应用的布局设计工作。希望本文能够...
在众多的布局管理器中,`GridBagLayout` 是最为灵活,但也最为复杂的。它允许开发者精确地控制组件的位置和大小,以适应各种复杂的布局需求。 在`GridBagLayout`中,有几个核心参数对于理解和使用该布局管理器至关...
原创,为完整java工程包。...简化swing复杂界面布局不方便,容器定位的问题。 具体思想是将tabel td等标签相关元素和属性映射成GridBagConstraints的属性值,将布局独立到配置文件,从而简化代码中关于布局的复杂度
- 对于复杂的数学运算,可以考虑使用`BigDecimal`等数据类型来提高精度和性能。 综上所述,Java计算器程序是一个典型的入门级项目,涉及了Java GUI编程的基础知识,包括Swing组件的使用、事件处理机制等。通过对...
由于GridBagLayout的灵活性,它可能会比其他布局管理器更复杂,但能够创造出更复杂且自适应的用户界面。 总结来说,GridLayout适用于简单均匀分布的界面布局,而GridBagLayout则是处理复杂、动态布局的理想选择。...
`GridBagLayout` 是Swing提供的一个复杂但功能强大的布局管理器,它使用网格系统来安排组件。每个组件都有一个对应的`GridBagConstraints`对象,该对象包含了一系列的属性,如网格位置(gridx, gridy)、网格跨度...