GridData is the layout data object associated with
GridLayout. To set a GridData object into a
control, you use the Control.setLayoutData(Object) method.
There are two ways to create a GridData object with certain
fields set. The first is to set the fields directly, like this:
GridData gridData = new GridData(); gridData.horizontalAlignment = GridData.FILL; gridData.grabExcessHorizontalSpace = true; button1.setLayoutData(gridData); gridData = new GridData(); gridData.horizontalAlignment = GridData.FILL; gridData.verticalAlignment = GridData.FILL; gridData.grabExcessHorizontalSpace = true; gridData.grabExcessVerticalSpace = true; gridData.horizontalSpan = 2; button2.setLayoutData(gridData);The second is to take advantage of
GridData convenience constructors, for example:
button1.setLayoutData(new GridData (SWT.FILL, SWT.CENTER, true, false));
button2.setLayoutData(new GridData (SWT.FILL, SWT.FILL, true, true, 2, 1));
NOTE: Do not reuse GridData objects. Every control in a
Composite that is managed by a GridLayout
must have a unique GridData object. If the layout data
for a control in a GridLayout is null at layout time,
a unique GridData object is created for it.
| constant | type | note |
|---|---|---|
| BEGINNING | int | Value for horizontalAlignment or verticalAlignment. Position the control at the top or left of the cell. Not recommended. Use SWT.BEGINNING, SWT.TOP or SWT.LEFT instead. |
| CENTER | int | Value for horizontalAlignment or verticalAlignment. Position the control in the vertical or horizontal center of the cell Not recommended. Use SWT.CENTER instead. |
| END | int | Value for horizontalAlignment or verticalAlignment. Position the control at the bottom or right of the cell Not recommended. Use SWT.END, SWT.BOTTOM or SWT.RIGHT instead. |
| FILL | int | Value for horizontalAlignment or verticalAlignment. Resize the control to fill the cell horizontally or vertically. Not recommended. Use SWT.FILL instead. |
| VERTICAL_ALIGN_BEGINNING | int | Style bit for new GridData(int).
Position the control at the top of the cell.
Not recommended. Use
new GridData(int, SWT.BEGINNING, boolean, boolean)
instead. |
| VERTICAL_ALIGN_CENTER | int | Style bit for new GridData(int) to position the
control in the vertical center of the cell.
Not recommended. Use
new GridData(int, SWT.CENTER, boolean, boolean)
instead. |
| VERTICAL_ALIGN_END | int | Style bit for new GridData(int) to position the
control at the bottom of the cell.
Not recommended. Use
new GridData(int, SWT.END, boolean, boolean)
instead. |
| VERTICAL_ALIGN_FILL | int | Style bit for new GridData(int) to resize the
control to fill the cell vertically.
Not recommended. Use
new GridData(int, SWT.FILL, boolean, boolean)
instead |
| HORIZONTAL_ALIGN_BEGINNING | int | Style bit for new GridData(int) to position the
control at the left of the cell.
Not recommended. Use
new GridData(SWT.BEGINNING, int, boolean, boolean)
instead. |
| HORIZONTAL_ALIGN_CENTER | int | Style bit for new GridData(int) to position the
control in the horizontal center of the cell.
Not recommended. Use
new GridData(SWT.CENTER, int, boolean, boolean)
instead. |
| HORIZONTAL_ALIGN_END | int | Style bit for new GridData(int) to position the
control at the right of the cell.
Not recommended. Use
new GridData(SWT.END, int, boolean, boolean)
instead. |
| HORIZONTAL_ALIGN_FILL | int | Style bit for new GridData(int) to resize the
control to fill the cell horizontally.
Not recommended. Use
new GridData(SWT.FILL, int, boolean, boolean)
instead. |
| GRAB_HORIZONTAL | int | Style bit for new GridData(int) to resize the
control to fit the remaining horizontal space.
Not recommended. Use
new GridData(int, int, true, boolean)
instead. |
| GRAB_VERTICAL | int | Style bit for new GridData(int) to resize the
control to fit the remaining vertical space.
Not recommended. Use
new GridData(int, int, boolean, true)
instead. |
| FILL_VERTICAL | int | Style bit for new GridData(int) to resize the
control to fill the cell vertically and to fit the remaining
vertical space.
FILL_VERTICAL = VERTICAL_ALIGN_FILL | GRAB_VERTICAL
Not recommended. Use
new GridData(int, SWT.FILL, boolean, true)
instead. |
| FILL_HORIZONTAL | int | Style bit for new GridData(int) to resize the
control to fill the cell horizontally and to fit the remaining
horizontal space.
FILL_HORIZONTAL = HORIZONTAL_ALIGN_FILL | GRAB_HORIZONTAL
Not recommended. Use
new GridData(SWT.FILL, int, true, boolean)
instead. |
| FILL_BOTH | int | Style bit for new GridData(int) to resize the
control to fill the cell horizontally and vertically and
to fit the remaining horizontal and vertical space.
FILL_BOTH = FILL_VERTICAL | FILL_HORIZONTAL
Not recommended. Use
new GridData(SWT.FILL, SWT.FILL, true, true)
instead. |
| field | type | note |
|---|---|---|
| verticalAlignment | int | verticalAlignment specifies how controls will be positioned
vertically within a cell.
The default value is CENTER.
Possible values are:
|
| horizontalAlignment | int | horizontalAlignment specifies how controls will be positioned
horizontally within a cell.
The default value is BEGINNING.
Possible values are:
|
| widthHint | int | widthHint specifies the preferred width in points. This value is the wHint passed into Control.computeSize(int, int, boolean) to determine the preferred size of the control. The default value is SWT.DEFAULT. |
| heightHint | int | heightHint specifies the preferred height in points. This value is the hHint passed into Control.computeSize(int, int, boolean) to determine the preferred size of the control. The default value is SWT.DEFAULT. |
| horizontalIndent | int | horizontalIndent specifies the number of points of indentation that will be placed along the left side of the cell. The default value is 0. |
| verticalIndent | int | verticalIndent specifies the number of points of indentation that will be placed along the top side of the cell. The default value is 0. |
| horizontalSpan | int | horizontalSpan specifies the number of column cells that the control will take up. The default value is 1. |
| verticalSpan | int | verticalSpan specifies the number of row cells that the control will take up. The default value is 1. |
| grabExcessHorizontalSpace | boolean | grabExcessHorizontalSpace specifies whether the width of the cell
changes depending on the size of the parent Composite. If
grabExcessHorizontalSpace is
The default value is false. |
| grabExcessVerticalSpace | boolean | grabExcessVerticalSpace specifies whether the height of the cell
changes depending on the size of the parent Composite. If
grabExcessVerticalSpace is
The default value is false. |
| minimumWidth | int | minimumWidth specifies the minimum width in points. This value applies only if grabExcessHorizontalSpace is true. A value of SWT.DEFAULT means that the minimum width will be the result of Control.computeSize(int, int, boolean) where wHint is determined by GridData.widthHint. The default value is 0. |
| minimumHeight | int | minimumHeight specifies the minimum height in points. This value applies only if grabExcessVerticalSpace is true. A value of SWT.DEFAULT means that the minimum height will be the result of Control.computeSize(int, int, boolean) where hHint is determined by GridData.heightHint. The default value is 0. |
| exclude | boolean | exclude informs the layout to ignore this control when sizing
and positioning controls. If this value is true,
the size and position of the control will not be managed by the
layout. If this value is false, the size and
position of the control will be computed and assigned.
The default value is false. |
<init>()Constructs a new instance of GridData using default values.
<init>(int style)Constructs a new instance based on the GridData style. This constructor is not recommended.
| name | type | description |
|---|---|---|
| style | int | the GridData style |
<init>(int horizontalAlignment, int verticalAlignment, boolean grabExcessHorizontalSpace, boolean grabExcessVerticalSpace)Constructs a new instance of GridData according to the parameters.
| name | type | description |
|---|---|---|
| horizontal_alignment | int | how control will be positioned horizontally within a cell, one of: SWT.BEGINNING (or SWT.LEFT), SWT.CENTER, SWT.END (or SWT.RIGHT), or SWT.FILL |
| vertical_alignment | int | how control will be positioned vertically within a cell, one of: SWT.BEGINNING (or SWT.TOP), SWT.CENTER, SWT.END (or SWT.BOTTOM), or SWT.FILL |
| grab_excess_horizontal_space | boolean | whether cell will be made wide enough to fit the remaining horizontal space |
| grab_excess_vertical_space | boolean | whether cell will be made high enough to fit the remaining vertical space |
<init>(int horizontalAlignment, int verticalAlignment, boolean grabExcessHorizontalSpace, boolean grabExcessVerticalSpace, int horizontalSpan, int verticalSpan)Constructs a new instance of GridData according to the parameters.
| name | type | description |
|---|---|---|
| horizontal_alignment | int | how control will be positioned horizontally within a cell, one of: SWT.BEGINNING (or SWT.LEFT), SWT.CENTER, SWT.END (or SWT.RIGHT), or SWT.FILL |
| vertical_alignment | int | how control will be positioned vertically within a cell, one of: SWT.BEGINNING (or SWT.TOP), SWT.CENTER, SWT.END (or SWT.BOTTOM), or SWT.FILL |
| grab_excess_horizontal_space | boolean | whether cell will be made wide enough to fit the remaining horizontal space |
| grab_excess_vertical_space | boolean | whether cell will be made high enough to fit the remaining vertical space |
| horizontal_span | int | the number of column cells that the control will take up |
| vertical_span | int | the number of row cells that the control will take up |
<init>(int width, int height)Constructs a new instance of GridData according to the parameters. A value of SWT.DEFAULT indicates that no minimum width or no minimum height is specified.
| name | type | description |
|---|---|---|
| width | int | a minimum width for the column |
| height | int | a minimum height for the row |
toString()Returns a string containing a concise, human-readable description of the receiver.
Returns: a string representation of the GridData object