Package org.eclipse.swt.widgets

# Class ColorDialog

java.lang.Object
org.eclipse.swt.widgets.Dialog
org.eclipse.swt.widgets.ColorDialog

public class ColorDialog extends Dialog
Instances of this class allow the user to select a color from a predefined set of available colors.

Styles:
  (none)
Events:
  (none)

IMPORTANT: This class is not intended to be subclassed.

See Also:
  - SWT Example: ControlExample, Dialog tab
  - Sample code and further information
Restriction:
  This class is not intended to be subclassed by clients.

## Constructor Summary

Constructors
Constructor
Description
`ColorDialog(Shell parent)`
Constructs a new instance of this class given only its parent.
`ColorDialog(Shell 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
`RGB`
`getRGB()`
Returns the currently selected color in the receiver.
`RGB[]`
`getRGBs()`
Returns an array of `RGB`s which are the list of custom colors selected by the user in the receiver, or null if no custom colors were selected.
`RGB`
`open()`
Makes the receiver visible and brings it to the front of the display.
`void`
`setRGB(RGB rgb)`
Sets the receiver's selected color to be the argument.
`void`
`setRGBs(RGB[] rgbs)`
Sets the receiver's list of custom colors to be the given array of `RGB`s, which may be null to let the platform select a default when open() is called.

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

`checkSubclass, getParent, getStyle, getText, setText`

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

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

## Constructor Details

### ColorDialog

public ColorDialog(Shell parent)
Constructs a new instance of this class given only its parent.

Parameters:
  `parent` - a composite control which will be the parent of the new instance
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`
  - `Widget.checkSubclass()`
  - `Widget.getStyle()`

### ColorDialog

public ColorDialog(Shell 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.

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`
  - `Widget.checkSubclass()`
  - `Widget.getStyle()`

## Method Details

### getRGB

public RGB getRGB()
Returns the currently selected color in the receiver.

Returns:
  the RGB value for the selected color, may be null
See Also:
  - `PaletteData.getRGBs()`

### getRGBs

public RGB[] getRGBs()
Returns an array of `RGB`s which are the list of custom colors selected by the user in the receiver, or null if no custom colors were selected.

Returns:
  the array of RGBs, which may be null
Since:
  3.8

### open

public RGB open()
Makes the receiver visible and brings it to the front of the display.

Returns:
  the selected color, or null if the dialog was cancelled, no color was selected, or an error occurred
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

### setRGB

public void setRGB(RGB rgb)
Sets the receiver's selected color to be the argument.

Parameters:
  `rgb` - the new RGB value for the selected color, may be null to let the platform select a default when open() is called
See Also:
  - `PaletteData.getRGBs()`

### setRGBs

public void setRGBs(RGB[] rgbs)
Sets the receiver's list of custom colors to be the given array of `RGB`s, which may be null to let the platform select a default when open() is called.

Parameters:
  `rgbs` - the array of RGBs, which may be null
Throws:
  `IllegalArgumentException` -
  - ERROR_INVALID_ARGUMENT - if an RGB in the rgbs array is null
Since:
  3.8