是关于gridx和gridwidth的问题,constraints.gridx = GridBagConstraints.RELATIVE和constraints.gridwidth = GridBagConstraints.RELATIVE;到底有什么区别啊,为什么他们的显示结果是不一样的,用gridx很好理解,可是gridwidth就很难让人理解了,请问一下constraints.gridwidth = GridBagConstraints.RELATIVE;是错误的吗?如果可以的话,希望大家推荐一篇好文章给我看一下,gridbagLayout这个到底怎么用好?
解决方案 »
- JAVA画图高手请进(Stroke做2重线)
- jacob调用dll的函数有两个返回值
- 一点关于JAVA对象的生存期和编译的小问题
- (求助高手详细讲解):一个很容易忽略问题!!!!!!!!!!!!
- 我是初学者,问三个问题。请大家帮帮我啊
- 草鸡,借分---
- 画图程序中如何保留原画板上已画的图案?
- 菜鸟的问题:“Exception in thread "main" java.lang.NoClassDefFoundError: Hello”
- 请问哪儿有JavaTM 2 Platform, Standard Edition v 1.3.1 下载??高分相赠!
- 百思不得其解,请教各位大侠
- 新手急求!IO效率
- 怎样实现java中的图形叠加?
两种用法都是可以的,constraints.gridx = GridBagConstraints.RELATIVE表示当前控件是前一个控件的下一个,这么用只是为了方便,因为这么写不用去计算这个控件的坐标。constraints.gridwidth = GridBagConstraints.RELATIVE这句语句的含义则是:当前控件占的宽是从当前列到最后一列。RELATIVE也可以用在gridy,gridheight上,含义基本相似。
再附上JDK文档对此的说明:
public static final int RELATIVE
Specifies that this component is the next-to-last component in its column or row (gridwidth, gridheight), or that this component be placed next to the previously added component (gridx, gridy).
GridBagConstraints.gridx、GridBagConstraints.gridy
指定包含组件显示区域的前导角的单元,在此显示区域中,位于网格原点的单元地址是 gridx = 0, gridy = 0。对于水平的从左到右的布局,组件的前导角是其左上角。对于水平的从右到左的布局,组件的前导角是其右上角。使用 GridBagConstraints.RELATIVE(默认值),指定会将组件直接放置在之前刚添加到容器中的组件的后面(沿 X 轴向为 gridx 或 Y 轴向为 gridy)。
GridBagConstraints.gridwidth、GridBagConstraints.gridheight
指定组件的显示区域中行(针对 gridwidth)或列(针对 gridheight)中的单元数。默认值为 1。使用 GridBagConstraints.REMAINDER 指定组件的显示区域,该区域的范围是从 gridx 到该行(针对 gridwidth)中的最后一个单元,或者从 gridy 到该列(针对 gridheight)中的最后一个单元。 使用 GridBagConstraints.RELATIVE 指定组件的显示区域,该区域的范围是从 gridx 到其所在行(针对 gridwidth)的倒数第二个单元,或者从 gridy 到其所在列(针对 gridheight)的倒数第二个单元。
GridBagConstraints.fill
当组件的显示区域大于组件的所需大小时,用于确定是否(以及如何)调整组件。可能的值为 GridBagConstraints.NONE(默认值)、GridBagConstraints.HORIZONTAL(加宽组件直到它足以在水平方向上填满其显示区域,但不更改其高度)、GridBagConstraints.VERTICAL(加高组件直到它足以在垂直方向上填满其显示区域,但不更改其宽度)和 GridBagConstraints.BOTH(使组件完全填满其显示区域)。
GridBagConstraints.ipadx、GridBagConstraints.ipady
指定布局中组件的内部填充,即对组件最小大小的添加量。组件的宽度至少为其最小宽度加上 ipadx 像素。类似地,组件的高度至少为其最小高度加上 ipady 像素。
GridBagConstraints.insets
指定组件的外部填充,即组件与其显示区域边缘之间间距的最小量。
GridBagConstraints.anchor
指定组件应置于其显示区域中何处。可能的值有三种:绝对值、相对于方向的值和相对于基线的值。相对于方向的值是相对于容器的 ComponentOrientation 属性进行解释的,而绝对值则不然。相关于基线的值是相对于基线进行计算的。有效值包括: 绝对值
相对于方向的值
相对于基线的值
GridBagConstraints.NORTH
GridBagConstraints.SOUTH
GridBagConstraints.WEST
GridBagConstraints.EAST
GridBagConstraints.NORTHWEST
GridBagConstraints.NORTHEAST
GridBagConstraints.SOUTHWEST
GridBagConstraints.SOUTHEAST
GridBagConstraints.CENTER(默认值)
GridBagConstraints.PAGE_START
GridBagConstraints.PAGE_END
GridBagConstraints.LINE_START
GridBagConstraints.LINE_END
GridBagConstraints.FIRST_LINE_START
GridBagConstraints.FIRST_LINE_END
GridBagConstraints.LAST_LINE_START
GridBagConstraints.LAST_LINE_END
GridBagConstraints.BASELINE
GridBagConstraints.BASELINE_LEADING
GridBagConstraints.BASELINE_TRAILING
GridBagConstraints.ABOVE_BASELINE
GridBagConstraints.ABOVE_BASELINE_LEADING
GridBagConstraints.ABOVE_BASELINE_TRAILING
GridBagConstraints.BELOW_BASELINE
GridBagConstraints.BELOW_BASELINE_LEADING
GridBagConstraints