1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
| import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.GC;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.ToolBar;
import org.eclipse.swt.widgets.ToolItem;
public class Snippet36 {
public static void main(String[] args) {
Display display = new Display();
final Shell shell = new Shell(display);
Image image = new Image(display, 20, 20);
Color color = display.getSystemColor(SWT.COLOR_BLUE);
GC gc = new GC(image);
gc.setBackground(color);
gc.fillRectangle(image.getBounds());
gc.dispose();
Image disabledImage = new Image(display, 20, 20);
color = display.getSystemColor(SWT.COLOR_GREEN);
gc = new GC(disabledImage);
gc.setBackground(color);
gc.fillRectangle(disabledImage.getBounds());
gc.dispose();
Image hotImage = new Image(display, 20, 20);
color = display.getSystemColor(SWT.COLOR_RED);
gc = new GC(hotImage);
gc.setBackground(color);
gc.fillRectangle(hotImage.getBounds());
gc.dispose();
final ToolBar toolBar =
new ToolBar(shell, SWT.BORDER | SWT.FLAT | SWT.WRAP);
Rectangle clientArea = shell.getClientArea();
toolBar.setBounds(clientArea.x, clientArea.y, 200, 32);
for (int i = 0; i < 12; i++) {
ToolItem item = new ToolItem(toolBar, 0);
item.setImage(image);
item.setDisabledImage(disabledImage);
item.setHotImage(hotImage);
if (i % 3 == 0)
item.setEnabled(false);
if (i % 2 == 0) {
item = new ToolItem(toolBar, SWT.SEPARATOR);
}
}
shell.addListener(SWT.Resize, new Listener() {
public void handleEvent(Event e) {
Rectangle rect = shell.getClientArea();
Point size = toolBar.computeSize(rect.width, SWT.DEFAULT);
toolBar.setSize(size);
}
});
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
image.dispose();
disabledImage.dispose();
hotImage.dispose();
display.dispose();
}
} |
Partager