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 and 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

All Methods Instance Methods Concrete Methods
`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 Detail

#### 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 Detail

#### 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