Package org.eclipse.swt.widgets

# Class Group

java.lang.Object
org.eclipse.swt.widgets.Widget
org.eclipse.swt.widgets.Control
org.eclipse.swt.widgets.Scrollable
org.eclipse.swt.widgets.Composite
org.eclipse.swt.widgets.Group

All Implemented Interfaces:
  `Adaptable`, `Drawable`

public class Group extends Composite
Instances of this class provide an etched border with an optional title.

Shadow styles are hints and may not be honoured by the platform. To create a group with the default shadow style for the platform, do not specify a shadow style.

The various SHADOW_* styles are not yet implemented.

Styles:
  SHADOW_ETCHED_IN, SHADOW_ETCHED_OUT, SHADOW_IN, SHADOW_OUT, SHADOW_NONE
Events:
  (none)

Note: Only one of the above styles may be specified.

IMPORTANT: This class is not intended to be subclassed.

Note: The styles `SHADOW_XXX` are not yet implemented in RWT.

Since:
  1.0

## Constructor Summary

Constructors
Constructor
Description
`Group(Composite parent, int style)`
Constructs a new instance of this class given its parent and a style value describing its behavior and appearance.

## Method Summary

Modifier and Type
Method
Description
`Point`
`computeSize(int wHint, int hHint, boolean changed)`
Returns the preferred size of the receiver.
`Rectangle`
`computeTrim(int x, int y, int width, int height)`
Given a desired client area for the receiver (as described by the arguments), returns the bounding rectangle which would be required to produce that client area.
`<T> T`
`getAdapter(Class<T> adapter)`
Implementation of the `Adaptable` interface.
`Rectangle`
`getClientArea()`
Returns a rectangle which describes the area of the receiver which is capable of displaying data (that is, not covered by the "trimmings").
`String`
`getText()`
Returns the receiver's text, which is the string that the is used as the title.
`void`
`setText(String text)`
Sets the receiver's text, which is the string that will be displayed as the receiver's title, to the argument, which may not be null.

### Methods inherited from class org.eclipse.swt.widgets.Composite

`changed, getBackgroundMode, getChildren, getLayout, getLayoutDeferred, getTabList, isLayoutDeferred, layout, layout, layout, layout, layout, setBackgroundMode, setFocus, setLayout, setLayoutDeferred, setTabList`

### Methods inherited from class org.eclipse.swt.widgets.Scrollable

`getHorizontalBar, getVerticalBar`

### Methods inherited from class org.eclipse.swt.widgets.Control

`addControlListener, addDragDetectListener, addFocusListener, addGestureListener, addHelpListener, addKeyListener, addMenuDetectListener, addMouseListener, addTouchListener, addTraverseListener, computeSize, forceFocus, getAccessible, getBackground, getBackgroundImage, getBorderWidth, getBounds, getCursor, getEnabled, getFont, getForeground, getLayoutData, getLocation, getMenu, getMonitor, getOrientation, getParent, getShell, getSize, getToolTipText, getTouchEnabled, getVisible, isEnabled, isFocusControl, isReparentable, isVisible, moveAbove, moveBelow, pack, pack, redraw, redraw, removeControlListener, removeDragDetectListener, removeFocusListener, removeGestureListener, removeHelpListener, removeKeyListener, removeMenuDetectListener, removeMouseListener, removeTouchListener, removeTraverseListener, requestLayout, setBackground, setBackgroundImage, setBounds, setBounds, setCursor, setData, setEnabled, setFont, setForeground, setLayoutData, setLocation, setLocation, setMenu, setOrientation, setParent, setRedraw, setSize, setSize, setToolTipText, setTouchEnabled, setVisible, toControl, toControl, toDisplay, toDisplay, update`

### Methods inherited from class org.eclipse.swt.widgets.Widget

`addDisposeListener, addListener, checkSubclass, checkWidget, dispose, getData, getData, getDisplay, getListeners, getStyle, isDisposed, isListening, notifyListeners, removeDisposeListener, removeListener, removeListener, reskin, setData, toString`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Constructor Details

### Group

public Group(Composite parent, int style)
Constructs a new instance of this class given its parent and a style value describing its behavior and appearance.

The style value is either one of the style constants defined in class `SWT` which is applicable to instances of this class, or must be built by bitwise OR'ing together (that is, using the `int` "|" operator) two or more of those `SWT` style constants. The class description lists the style constants that are applicable to the class. Style bits are also inherited from superclasses.

The various SHADOW_* styles are not yet implemented.

Parameters:
  `parent` - a composite control which will be the parent of the new instance (cannot be null)
  `style` - the style of control to construct
Throws:
  `IllegalArgumentException` -
  - ERROR_NULL_ARGUMENT - if the parent is null
  `SWTException` -
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent
  - ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass
See Also:
  - `SWT.SHADOW_IN`
  - `SWT.SHADOW_OUT`
  - `SWT.SHADOW_NONE`
  - `Widget.checkSubclass()`
  - `Widget.getStyle()`

## Method Details

### setText

public void setText(String text)
Sets the receiver's text, which is the string that will be displayed as the receiver's title, to the argument, which may not be null. The string may include the mnemonic character. Mnemonics are indicated by an '&' that causes the next character to be the mnemonic. When the user presses a key sequence that matches the mnemonic, focus is assigned to the first child of the group. On most platforms, the mnemonic appears underlined but may be emphasised in a platform specific manner. The mnemonic indicator character '&' can be escaped by doubling it in the string, causing a single '&' to be displayed.

Parameters:
  `text` - the new text
Throws:
  `IllegalArgumentException` -
  - ERROR_NULL_ARGUMENT - if the text is null
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

### getText

public String getText()
Returns the receiver's text, which is the string that the is used as the title. If the text has not previously been set, returns an empty string.

Returns:
  the text
Throws:
  `SWTException` -
  - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
  - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

### getClientArea

public Rectangle getClientArea()
Description copied from class: `Scrollable`
Returns a rectangle which describes the area of the receiver which is capable of displaying data (that is, not covered by the "trimmings").

Overrides:
  `getClientArea` in class `Scrollable`
Returns:
  the client area
See Also:
  - `Scrollable.computeTrim(int, int, int, int)`

### computeTrim

public Rectangle computeTrim(int x, int y, int width, int height)
Description copied from class: `Scrollable`
Given a desired client area for the receiver (as described by the arguments), returns the bounding rectangle which would be required to produce that client area.

In other words, it returns a rectangle such that, if the receiver's bounds were set to that rectangle, the area of the receiver which is capable of displaying data (that is, not covered by the "trimmings") would be the rectangle described by the arguments (relative to the receiver's parent).

Overrides:
  `computeTrim` in class `Scrollable`
Parameters:
  `x` - the desired x coordinate of the client area
  `y` - the desired y coordinate of the client area
  `width` - the desired width of the client area
  `height` - the desired height of the client area
Returns:
  the required bounds to produce the given client area
See Also:
  - `Scrollable.getClientArea()`

### computeSize

public Point computeSize(int wHint, int hHint, boolean changed)
Description copied from class: `Control`
Returns the preferred size of the receiver.

The preferred size of a control is the size that it would best be displayed at. The width hint and height hint arguments allow the caller to ask a control questions such as "Given a particular width, how high does the control need to be to show all of the contents?" To indicate that the caller does not wish to constrain a particular dimension, the constant `SWT.DEFAULT` is passed for the hint.

If the changed flag is `true`, it indicates that the receiver's contents have changed, therefore any caches that a layout manager containing the control may have been keeping need to be flushed. When the control is resized, the changed flag will be `false`, so layout manager caches can be retained.

Overrides:
  `computeSize` in class `Composite`
Parameters:
  `wHint` - the width hint (can be `SWT.DEFAULT`)
  `hHint` - the height hint (can be `SWT.DEFAULT`)
  `changed` - `true` if the control's contents have changed, and `false` otherwise
Returns:
  the preferred size of the control.
See Also:
  - `Layout`
  - `Control.getBorderWidth()`
  - `Control.getBounds()`
  - `Control.getSize()`
  - `Control.pack(boolean)`
  - "computeTrim, getClientArea for controls that implement them"

### getAdapter

public <T> T getAdapter(Class<T> adapter)
Description copied from class: `Widget`
Implementation of the `Adaptable` interface.

IMPORTANT: This method is not part of the RWT public API. It is marked public only so that it can be shared within the packages provided by RWT. It should never be accessed from application code.

Specified by:
  `getAdapter` in interface `Adaptable`
Overrides:
  `getAdapter` in class `Composite`
Parameters:
  `adapter` - the lookup class
Returns:
  an object that can be cast to the given class or `null` if there is no adapter associated with the given class.