Demonstrates the ColorDialog class : Dialog « SWT JFace Eclipse « Java






Demonstrates the ColorDialog class

Demonstrates the ColorDialog class
//Send questions, comments, bug reports, etc. to the authors:

//Rob Warner (rwarner@interspatial.com)
//Robert Harris (rbrt_harris@yahoo.com)

import org.eclipse.swt.*;
import org.eclipse.swt.events.*;
import org.eclipse.swt.graphics.*;
import org.eclipse.swt.layout.*;
import org.eclipse.swt.widgets.*;

/**
 * This class demonstrates the ColorDialog class
 */
public class ChooseColor {
  private Color color;

  /**
   * Runs the application
   */
  public void run() {
    Display display = new Display();
    Shell shell = new Shell(display);
    shell.setText("Color Chooser");
    createContents(shell);
    shell.pack();
    shell.open();
    while (!shell.isDisposed()) {
      if (!display.readAndDispatch()) {
        display.sleep();
      }
    }
    // Dispose the color we created for the Label
    if (color != null) {
      color.dispose();
    }
    display.dispose();
  }

  /**
   * Creates the window contents
   * 
   * @param shell the parent shell
   */
  private void createContents(final Shell shell) {
    shell.setLayout(new GridLayout(2, false));

    // Start with Celtics green
    color = new Color(shell.getDisplay(), new RGB(0, 255, 0));

    // Use a label full of spaces to show the color
    final Label colorLabel = new Label(shell, SWT.NONE);
    colorLabel.setText("                              ");
    colorLabel.setBackground(color);

    Button button = new Button(shell, SWT.PUSH);
    button.setText("Color...");
    button.addSelectionListener(new SelectionAdapter() {
      public void widgetSelected(SelectionEvent event) {
        // Create the color-change dialog
        ColorDialog dlg = new ColorDialog(shell);

        // Set the selected color in the dialog from
        // user's selected color
        dlg.setRGB(colorLabel.getBackground().getRGB());

        // Change the title bar text
        dlg.setText("Choose a Color");

        // Open the dialog and retrieve the selected color
        RGB rgb = dlg.open();
        if (rgb != null) {
          // Dispose the old color, create the
          // new one, and set into the label
          color.dispose();
          color = new Color(shell.getDisplay(), rgb);
          colorLabel.setBackground(color);
        }
      }
    });
  }

  /**
   * The application entry point
   * 
   * @param args the command line arguments
   */
  public static void main(String[] args) {
    new ChooseColor().run();
  }
}



           
       








Related examples in the same category

1.TitleAreaDialog: MailDialog
2.Dialog ShellDialog Shell
3.MessageBox ExampleMessageBox Example
4.Number Input DialogNumber Input Dialog
5.Dialog ExamplesDialog Examples
6.Demonstrates FileDialogDemonstrates FileDialog
7.A facade for the save FileDialog
8.How to create your own dialog classesHow to create your own dialog classes
9.Demonstrates the FontDialog classDemonstrates the FontDialog class
10.Demonstrates the DirectoryDialog classDemonstrates the DirectoryDialog class
11.Demonstrates the custom InputDialog classDemonstrates the custom InputDialog class
12.Demonstrates the MessageBox classDemonstrates the MessageBox class
13.Dialog Example
14.Shell Dialog ExampleShell Dialog Example
15.Color Dialog ExampleColor Dialog Example
16.File Dialog ExampleFile Dialog Example
17.Font Dialog ExampleFont Dialog Example
18.Yes No Icon MessageBoxYes No Icon MessageBox
19.Print Dialog ExamplePrint Dialog Example
20.SWT Dialog ClassSWT Dialog Class
21.Prevent escape from closing a SWT dialogPrevent escape from closing a SWT dialog
22.Create a dialog shell (prompt for a value)Create a dialog shell (prompt for a value)
23.Create a SWT dialog shellCreate a SWT dialog shell