List of usage examples for org.eclipse.swt.widgets Button computeSize
public Point computeSize(int wHint, int hHint)
From source file:ControlSizeSetting.java
public static void main(String[] args) { final Display display = new Display(); final Shell shell = new Shell(display); shell.setSize(150, 150);// ww w . j a va2s.c o m final Cursor[] cursor = new Cursor[1]; Button button = new Button(shell, SWT.PUSH); button.setText("Change cursor"); Point size = button.computeSize(SWT.DEFAULT, SWT.DEFAULT); button.setSize(size); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } if (cursor[0] != null) cursor[0].dispose(); display.dispose(); }
From source file:CoolBarComboButton.java
public static void main(String[] args) { Display display = new Display(); Shell shell = new Shell(display); CoolBar bar = new CoolBar(shell, SWT.BORDER); CoolItem item = new CoolItem(bar, SWT.NONE); Button button = new Button(bar, SWT.PUSH); button.setText("Button "); Point size = button.computeSize(SWT.DEFAULT, SWT.DEFAULT); item.setPreferredSize(item.computeSize(size.x, size.y)); item.setControl(button);/*from ww w .j av a 2 s. co m*/ item = new CoolItem(bar, SWT.NONE); Combo combo = new Combo(bar, SWT.NONE); size = combo.computeSize(SWT.DEFAULT, SWT.DEFAULT); item.setPreferredSize(item.computeSize(size.x, size.y)); item.setControl(combo); bar.pack(); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } display.dispose(); }
From source file:Snippet20.java
public static void main(String[] args) { Display display = new Display(); Shell shell = new Shell(display); CoolBar bar = new CoolBar(shell, SWT.BORDER); for (int i = 0; i < 2; i++) { CoolItem item = new CoolItem(bar, SWT.NONE); Button button = new Button(bar, SWT.PUSH); button.setText("Button " + i); Point size = button.computeSize(SWT.DEFAULT, SWT.DEFAULT); item.setPreferredSize(item.computeSize(size.x, size.y)); item.setControl(button);/*w w w. j a va 2s.c om*/ } bar.pack(); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } display.dispose(); }
From source file:FormLayoutControlOffsetAttachment.java
public static void main(String[] args) { Display display = new Display(); final Shell shell = new Shell(display); shell.setLayout(new FormLayout()); Button button1 = new Button(shell, SWT.PUSH); button1.setText("button1"); Point size = button1.computeSize(SWT.DEFAULT, SWT.DEFAULT); int offset = size.x / 2; FormData formData = new FormData(); formData.left = new FormAttachment(50, -1 * offset); button1.setLayoutData(formData);/*from ww w .ja va 2s . com*/ shell.setSize(450, 400); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) { display.sleep(); } } display.dispose(); }
From source file:org.eclipse.swt.snippets.Snippet20.java
public static void main(String[] args) { Display display = new Display(); Shell shell = new Shell(display); shell.setText("Snippet 20"); CoolBar bar = new CoolBar(shell, SWT.BORDER); for (int i = 0; i < 2; i++) { CoolItem item = new CoolItem(bar, SWT.NONE); Button button = new Button(bar, SWT.PUSH); button.setText("Button " + i); Point size = button.computeSize(SWT.DEFAULT, SWT.DEFAULT); item.setPreferredSize(item.computeSize(size.x, size.y)); item.setControl(button);//from w w w. j a v a 2s . co m } Rectangle clientArea = shell.getClientArea(); bar.setLocation(clientArea.x, clientArea.y); bar.pack(); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } display.dispose(); }
From source file:Snippet118.java
public static void main(String[] args) { final Display display = new Display(); final Shell shell = new Shell(display); shell.setSize(150, 150);//from ww w .ja v a2 s . c om final Cursor[] cursor = new Cursor[1]; Button button = new Button(shell, SWT.PUSH); button.setText("Change cursor"); Point size = button.computeSize(SWT.DEFAULT, SWT.DEFAULT); button.setSize(size); button.addListener(SWT.Selection, new Listener() { public void handleEvent(Event e) { FileDialog dialog = new FileDialog(shell); dialog.setFilterExtensions(new String[] { "*.ico", "*.gif", "*.*" }); String name = dialog.open(); if (name == null) return; ImageData image = new ImageData(name); Cursor oldCursor = cursor[0]; cursor[0] = new Cursor(display, image, 0, 0); shell.setCursor(cursor[0]); if (oldCursor != null) oldCursor.dispose(); } }); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } if (cursor[0] != null) cursor[0].dispose(); display.dispose(); }
From source file:org.eclipse.swt.snippets.Snippet118.java
public static void main(String[] args) { final Display display = new Display(); final Shell shell = new Shell(display); shell.setText("Snippet 118"); shell.setSize(150, 150);/*from w w w . j a v a2 s . c o m*/ final Cursor[] cursor = new Cursor[1]; Button button = new Button(shell, SWT.PUSH); button.setText("Change cursor"); Point size = button.computeSize(SWT.DEFAULT, SWT.DEFAULT); button.setSize(size); button.addListener(SWT.Selection, e -> { FileDialog dialog = new FileDialog(shell); dialog.setFilterExtensions(new String[] { "*.ico", "*.gif", "*.*" }); String name = dialog.open(); if (name == null) return; ImageData image = new ImageData(name); Cursor oldCursor = cursor[0]; cursor[0] = new Cursor(display, image, 0, 0); shell.setCursor(cursor[0]); if (oldCursor != null) oldCursor.dispose(); }); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } if (cursor[0] != null) cursor[0].dispose(); display.dispose(); }
From source file:WidgetSizeCompute.java
public static void main(String[] args) { final Display display = new Display(); Shell shell = new Shell(display); shell.setLayout(new GridLayout()); Button button = new Button(shell, SWT.PUSH | SWT.LEFT); button.setText("Button"); System.out.println("Bounds: " + button.getBounds()); System.out.println("computeSize: " + button.computeSize(100, SWT.DEFAULT)); System.out.println("computeSize: " + button.computeSize(40, SWT.DEFAULT)); System.out.println("computeSize: " + button.computeSize(SWT.DEFAULT, 100)); System.out.println("computeSize: " + button.computeSize(SWT.DEFAULT, 20)); System.out.println("computeSize: " + button.computeSize(SWT.DEFAULT, 15)); System.out.println("computeSize: " + button.computeSize(100, 200)); System.out.println("computeSize: " + button.computeSize(SWT.DEFAULT, SWT.DEFAULT)); shell.open();//from w w w. ja v a2 s. c o m while (!shell.isDisposed()) { if (!display.readAndDispatch()) { display.sleep(); } } }
From source file:org.eclipse.swt.snippets.Snippet365.java
public static void main(String[] args) { final Display display = new Display(); final Shell shell = new Shell(display); shell.setText("Snippet365 - Transparent Background"); RowLayout layout = new RowLayout(SWT.VERTICAL); layout.spacing = 20;/*from ww w . j av a 2s. c om*/ layout.marginWidth = 10; layout.marginHeight = 10; shell.setLayout(layout); // Standard color background for Shell // shell.setBackground(display.getSystemColor(SWT.COLOR_CYAN)); // Gradient background for Shell shell.addListener(SWT.Resize, event -> { Rectangle rect = shell.getClientArea(); Image newImage = new Image(display, Math.max(1, rect.width), 1); GC gc = new GC(newImage); gc.setForeground(display.getSystemColor(SWT.COLOR_BLUE)); gc.setBackground(display.getSystemColor(SWT.COLOR_GREEN)); gc.fillGradientRectangle(rect.x, rect.y, rect.width, 1, false); gc.dispose(); shell.setBackgroundImage(newImage); if (oldImage != null) oldImage.dispose(); oldImage = newImage; }); // Transparent buttonCheckBox = new Button(shell, SWT.CHECK | SWT.None); buttonCheckBox.setText("SET TRANSPARENT"); buttonCheckBox.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT)); buttonCheckBox.setSelection(false); buttonCheckBox.addSelectionListener(widgetSelectedAdapter(e -> { boolean transparent = ((Button) e.getSource()).getSelection(); if (transparent) { // ContainerGroup containerGroup.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT)); canvas.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT)); composite.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT)); tabFolder.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT)); for (TabItem item : tabFolder.getItems()) { item.getControl().setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT)); } // Native nativeGroup.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT)); toolBar.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT)); coolBar.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT)); label.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT)); link.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT)); scale.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT)); radio.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT)); check.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT)); group.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT)); sash.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT)); slider.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT)); list.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT)); // Custom customGroup.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT)); cLabel.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT)); cTab.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_TRANSPARENT)); gradientCTab.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_TRANSPARENT)); sashForm.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_TRANSPARENT)); for (Control control : sashForm.getChildren()) { control.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_TRANSPARENT)); } // Default push.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT)); defaultBackgroundGroup.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT)); combo.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT)); progressBar.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT)); dateTime.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT)); ccombo.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT)); text.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT)); styledText.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT)); expandBar.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT)); table.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT)); tree.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT)); // ItemGroup itemGroup.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT)); } else { // Native nativeGroup.setBackground(display.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND)); toolBar.setBackground(null); coolBar.setBackground(null); label.setBackground(null); link.setBackground(null); scale.setBackground(null); RGB rgb = display.getSystemColor(SWT.COLOR_CYAN).getRGB(); radio.setBackground(new Color(display, new RGBA(rgb.red, rgb.blue, rgb.green, 255))); check.setBackgroundImage(getBackgroundImage(display)); group.setBackground(display.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND)); sash.setBackground(display.getSystemColor(SWT.COLOR_DARK_CYAN)); slider.setBackground(display.getSystemColor(SWT.COLOR_CYAN)); list.setBackground(display.getSystemColor(SWT.COLOR_CYAN)); text.setBackground(display.getSystemColor(SWT.COLOR_CYAN)); // ContainerGroup containerGroup.setBackground(display.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND)); canvas.setBackground(display.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND)); composite.setBackground(display.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND)); tabFolder.setBackground(display.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND)); for (TabItem item : tabFolder.getItems()) { item.getControl().setBackground(display.getSystemColor(SWT.COLOR_CYAN)); } // Custom customGroup.setBackground(display.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND)); cLabel.setBackground((Color) null); styledText.setBackground((Color) null); sashForm.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND)); for (Control control : sashForm.getChildren()) { control.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND)); } cTab.setBackground(display.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND)); gradientCTab.setBackground(new Color[] { display.getSystemColor(SWT.COLOR_RED), display.getSystemColor(SWT.COLOR_WHITE) }, new int[] { 90 }, true); // Default defaultBackgroundGroup.setBackground(display.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND)); push.setBackground(display.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND)); combo.setBackground(display.getSystemColor(SWT.COLOR_CYAN)); ccombo.setBackground(display.getSystemColor(SWT.COLOR_CYAN)); dateTime.setBackground(null); progressBar.setBackground(null); expandBar.setBackground(display.getSystemColor(SWT.COLOR_CYAN)); table.setBackground(display.getSystemColor(SWT.COLOR_CYAN)); tree.setBackground(display.getSystemColor(SWT.COLOR_CYAN)); // ItemGroup itemGroup.setBackground(display.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND)); } })); // ContainerGroup containerGroup = new Composite(shell, SWT.NONE); containerGroup.setBackground(display.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND)); containerGroup.setToolTipText("CONTAINER"); layout = new RowLayout(); layout.spacing = 20; containerGroup.setLayout(layout); // Native nativeGroup = new Composite(shell, SWT.NONE); nativeGroup.setBackground(display.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND)); nativeGroup.setToolTipText("NATIVE"); layout = new RowLayout(); layout.spacing = 20; nativeGroup.setLayout(layout); // Custom customGroup = new Composite(shell, SWT.NONE); customGroup.setBackground(display.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND)); customGroup.setToolTipText("CUSTOM"); layout = new RowLayout(); layout.spacing = 20; customGroup.setLayout(layout); // AsDesigned defaultBackgroundGroup = new Composite(shell, SWT.NONE); defaultBackgroundGroup.setBackground(display.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND)); defaultBackgroundGroup.setToolTipText("Default Background"); layout = new RowLayout(); layout.spacing = 20; defaultBackgroundGroup.setLayout(layout); // ItemGroup itemGroup = new Composite(shell, SWT.NONE); itemGroup.setBackground(display.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND)); itemGroup.setToolTipText("ITEM"); layout = new RowLayout(); layout.spacing = 20; itemGroup.setLayout(layout); // Label label = new Label(nativeGroup, SWT.NONE); label.setText("Label"); // Radio button radio = new Button(nativeGroup, SWT.RADIO); radio.setText("Radio Button"); radio.setSelection(true); radio.setBackground(display.getSystemColor(SWT.COLOR_CYAN)); // Checkbox button with image check = new Button(nativeGroup, SWT.CHECK); check.setText("CheckBox Image"); check.setSelection(true); check.setBackgroundImage(getBackgroundImage(display)); // Push Button push = new Button(defaultBackgroundGroup, SWT.PUSH); push.setText("Push Button"); // Toolbar toolBar = new ToolBar(nativeGroup, SWT.FLAT); toolBar.pack(); ToolItem item = new ToolItem(toolBar, SWT.PUSH); item.setText("ToolBar_Item"); // Coolbar coolBar = new CoolBar(nativeGroup, SWT.BORDER); for (int i = 0; i < 2; i++) { CoolItem item2 = new CoolItem(coolBar, SWT.NONE); Button button = new Button(coolBar, SWT.PUSH); button.setText("Button " + i); Point size = button.computeSize(SWT.DEFAULT, SWT.DEFAULT); item2.setPreferredSize(item2.computeSize(size.x, size.y)); item2.setControl(button); } // Scale scale = new Scale(nativeGroup, SWT.None); scale.setMaximum(100); scale.setSelection(20); // Link link = new Link(nativeGroup, SWT.NONE); link.setText("<a>Sample link</a>"); // List list = new List(nativeGroup, SWT.BORDER); list.setBackground(display.getSystemColor(SWT.COLOR_CYAN)); list.add("List_one"); list.add("List_two"); list.add("List_three"); list.add("List_four"); // Canvas canvas = new Canvas(containerGroup, SWT.NONE); canvas.setToolTipText("Canvas"); canvas.addPaintListener(e -> { GC gc = e.gc; gc.setForeground(display.getSystemColor(SWT.COLOR_RED)); gc.drawRectangle(e.x + 1, e.y + 1, e.width - 2, e.height - 2); gc.drawArc(2, 2, e.width - 4, e.height - 4, 0, 360); }); // Composite composite = new Composite(containerGroup, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL); composite.setToolTipText("Composite"); // TabFolder tabFolder = new TabFolder(containerGroup, SWT.BORDER); tabFolder.setBackground(display.getSystemColor(SWT.COLOR_CYAN)); for (int i = 0; i < 2; i++) { TabItem tabItem = new TabItem(tabFolder, SWT.NONE); tabItem.setText("TabItem " + i); Label label = new Label(tabFolder, SWT.PUSH); label.setText("Page " + i); tabItem.setControl(label); tabItem.getControl().setBackground(display.getSystemColor(SWT.COLOR_CYAN)); } tabFolder.pack(); // Group group = new Group(containerGroup, SWT.NONE); group.setText("Group"); // Sash sash = new Sash(containerGroup, SWT.HORIZONTAL | SWT.BORDER); sash.setBackground(display.getSystemColor(SWT.COLOR_DARK_CYAN)); sash.setLayoutData(new RowData(100, 100)); sash.setToolTipText("Sash"); // SashForm sashForm = new SashForm(containerGroup, SWT.HORIZONTAL | SWT.BORDER); Label leftLabel = new Label(sashForm, SWT.NONE); leftLabel.setText("SashForm\nLeft\n...\n...\n...\n...\n..."); Label rightLabel = new Label(sashForm, SWT.NONE); rightLabel.setText("SashForm\nRight\n...\n...\n...\n...\n..."); // DateTime dateTime = new DateTime(defaultBackgroundGroup, SWT.NONE); dateTime.setBackground(display.getSystemColor(SWT.COLOR_CYAN)); // Text text = new Text(nativeGroup, SWT.BORDER); text.setBackground(display.getSystemColor(SWT.COLOR_CYAN)); text.setText("text"); // ProgressBar progressBar = new ProgressBar(defaultBackgroundGroup, SWT.NONE); progressBar.setMaximum(100); progressBar.setSelection(80); // Combo combo = new Combo(defaultBackgroundGroup, SWT.BORDER); combo.setBackground(display.getSystemColor(SWT.COLOR_CYAN)); combo.add("combo"); combo.setText("combo"); // Slider slider = new Slider(nativeGroup, SWT.HORIZONTAL | SWT.BORDER); slider.setSelection(20); slider.setBackground(display.getSystemColor(SWT.COLOR_CYAN)); // CCombo ccombo = new CCombo(defaultBackgroundGroup, SWT.BORDER); ccombo.setBackground(display.getSystemColor(SWT.COLOR_CYAN)); ccombo.add("ccombo"); ccombo.setText("ccombo"); // CLable cLabel = new CLabel(customGroup, SWT.NONE); cLabel.setText("CLabel"); // Text styledText = new StyledText(customGroup, SWT.BORDER); styledText.setFont(new Font(display, "Tahoma", 18, SWT.BOLD | SWT.ITALIC)); styledText.setForeground(display.getSystemColor(SWT.COLOR_DARK_BLUE)); styledText.setText("Styled Text"); styledText.append("\n"); styledText.append("Example_string"); styledText.append("\n"); styledText.append("One_Two"); styledText.append("\n"); styledText.append("Two_Three"); // CTabFolder cTab = new CTabFolder(containerGroup, SWT.BORDER); for (int i = 0; i < 2; i++) { CTabItem cTabItem = new CTabItem(cTab, SWT.CLOSE, i); cTabItem.setText("CTabItem " + (i + 1)); } cTab.setSelection(0); // Gradient CTabFolder gradientCTab = new CTabFolder(customGroup, SWT.BORDER); gradientCTab.setBackground( new Color[] { display.getSystemColor(SWT.COLOR_WHITE), display.getSystemColor(SWT.COLOR_RED) }, new int[] { 90 }, true); for (int i = 0; i < 2; i++) { CTabItem cTabItem = new CTabItem(gradientCTab, SWT.CLOSE, i); cTabItem.setText("CTabItem " + (i + 1)); } gradientCTab.setSelection(0); // Table table = new Table(itemGroup, SWT.V_SCROLL); table.setBackground(display.getSystemColor(SWT.COLOR_CYAN)); table.setLinesVisible(true); table.setHeaderVisible(true); TableItem tableItem = new TableItem(table, SWT.NONE); tableItem.setText("TableItem - One"); tableItem = new TableItem(table, SWT.NONE); tableItem.setText("TableItem - Two"); // Tree tree = new Tree(itemGroup, SWT.NONE); TreeItem treeItem = new TreeItem(tree, SWT.NONE); treeItem.setText("Parent"); TreeItem childItem = new TreeItem(treeItem, SWT.NONE); childItem.setText("Child1"); childItem = new TreeItem(treeItem, SWT.NONE); childItem.setText("Child2"); treeItem.setExpanded(true); tree.setBackground(display.getSystemColor(SWT.COLOR_CYAN)); // ExpandBar expandBar = new ExpandBar(itemGroup, SWT.V_SCROLL); expandBar.setBackground(display.getSystemColor(SWT.COLOR_CYAN)); for (int i = 1; i <= 2; i++) { ExpandItem item1 = new ExpandItem(expandBar, SWT.NONE, 0); item1.setText("Expand_Bar_Entry " + i); item1.setExpanded(true); item1.setHeight(20); } shell.open(); shell.pack(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } display.dispose(); }
From source file:ControlEditorWithDialog.java
public static void main(String[] args) { final Shell shell = new Shell(display); shell.setText("Control Editor Two"); final Composite composite = new Composite(shell, SWT.NONE); composite.setBackground(color);//from w w w . j av a 2 s .co m composite.setBounds(0, 0, 300, 100); ControlEditor editor = new ControlEditor(composite); // Create the control associated with the editor Button button = new Button(composite, SWT.PUSH); button.setText("Change Color..."); button.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent event) { ColorDialog dialog = new ColorDialog(shell); if (color != null) dialog.setRGB(color.getRGB()); RGB rgb = dialog.open(); if (rgb != null) { if (color != null) color.dispose(); color = new Color(shell.getDisplay(), rgb); composite.setBackground(color); } } }); // Place the editor along the bottom of the parent composite editor.grabHorizontal = true; editor.verticalAlignment = SWT.BOTTOM; Point size = button.computeSize(SWT.DEFAULT, SWT.DEFAULT); editor.minimumHeight = size.y; editor.setEditor(button); shell.pack(); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) { display.sleep(); } } if (color != null) color.dispose(); display.dispose(); }