Example usage for org.eclipse.swt.widgets Label setImage

List of usage examples for org.eclipse.swt.widgets Label setImage

Introduction

In this page you can find the example usage for org.eclipse.swt.widgets Label setImage.

Prototype



public void setImage(Image image) 

Source Link

Document

Sets the receiver's image to the argument, which may be null indicating that no image should be displayed.

Usage

From source file:org.eclipse.swt.snippets.Snippet34.java

public static void main(String[] args) {
    Display display = new Display();
    Image image = new Image(display, 16, 16);
    Color color = display.getSystemColor(SWT.COLOR_RED);
    GC gc = new GC(image);
    gc.setBackground(color);/*from w  ww .ja  v a 2 s .  co  m*/
    gc.fillRectangle(image.getBounds());
    gc.dispose();
    Shell shell = new Shell(display);
    shell.setText("Snippet 34");
    Label label = new Label(shell, SWT.BORDER);
    Rectangle clientArea = shell.getClientArea();
    label.setLocation(clientArea.x, clientArea.y);
    label.setImage(image);
    label.pack();
    shell.pack();
    shell.open();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch())
            display.sleep();
    }
    image.dispose();
    display.dispose();
}

From source file:org.eclipse.swt.snippets.Snippet208.java

public static void main(String[] args) {
    PaletteData palette = new PaletteData(0xff, 0xff00, 0xff0000);

    // ImageData showing variations of hue
    ImageData hueData = new ImageData(360, 100, 24, palette);
    float hue = 0;
    for (int x = 0; x < hueData.width; x++) {
        for (int y = 0; y < hueData.height; y++) {
            int pixel = palette.getPixel(new RGB(hue, 1f, 1f));
            hueData.setPixel(x, y, pixel);
        }/*from w  w w  . ja  va2s  .  com*/
        hue += 360f / hueData.width;
    }

    // ImageData showing saturation on x axis and brightness on y axis
    ImageData saturationBrightnessData = new ImageData(360, 360, 24, palette);
    float saturation = 0f;
    float brightness = 1f;
    for (int x = 0; x < saturationBrightnessData.width; x++) {
        brightness = 1f;
        for (int y = 0; y < saturationBrightnessData.height; y++) {
            int pixel = palette.getPixel(new RGB(360f, saturation, brightness));
            saturationBrightnessData.setPixel(x, y, pixel);
            brightness -= 1f / saturationBrightnessData.height;
        }
        saturation += 1f / saturationBrightnessData.width;
    }

    Display display = new Display();
    Image hueImage = new Image(display, hueData);
    Image saturationImage = new Image(display, saturationBrightnessData);
    Shell shell = new Shell(display);
    shell.setText("Hue, Saturation, Brightness");
    GridLayout gridLayout = new GridLayout(2, false);
    gridLayout.verticalSpacing = 10;
    gridLayout.marginWidth = gridLayout.marginHeight = 16;
    shell.setLayout(gridLayout);

    Label label = new Label(shell, SWT.CENTER);
    label.setImage(hueImage);
    GridData data = new GridData(SWT.RIGHT, SWT.CENTER, false, false, 2, 1);
    label.setLayoutData(data);

    label = new Label(shell, SWT.CENTER); //spacer
    label = new Label(shell, SWT.CENTER);
    label.setText("Hue");
    data = new GridData(SWT.CENTER, SWT.CENTER, false, false);
    label.setLayoutData(data);
    label = new Label(shell, SWT.CENTER); //spacer
    data = new GridData(SWT.CENTER, SWT.CENTER, false, false, 2, 1);
    label.setLayoutData(data);

    label = new Label(shell, SWT.LEFT);
    label.setText("Brightness");
    data = new GridData(SWT.LEFT, SWT.CENTER, false, false);
    label.setLayoutData(data);

    label = new Label(shell, SWT.CENTER);
    label.setImage(saturationImage);
    data = new GridData(SWT.CENTER, SWT.CENTER, false, false);
    label.setLayoutData(data);

    label = new Label(shell, SWT.CENTER); //spacer
    label = new Label(shell, SWT.CENTER);
    label.setText("Saturation");
    data = new GridData(SWT.CENTER, SWT.CENTER, false, false);
    label.setLayoutData(data);

    shell.pack();
    shell.open();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch()) {
            display.sleep();
        }
    }
    hueImage.dispose();
    saturationImage.dispose();
    display.dispose();
}

From source file:org.eclipse.swt.snippets.Snippet223.java

public static void main(String[] args) {
    Display display = new Display();
    Shell shell = new Shell(display);
    shell.setLayout(new FillLayout());
    shell.setText("ExpandBar Example");
    ExpandBar bar = new ExpandBar(shell, SWT.V_SCROLL);
    Image image = display.getSystemImage(SWT.ICON_QUESTION);

    // First item
    Composite composite = new Composite(bar, SWT.NONE);
    GridLayout layout = new GridLayout();
    layout.marginLeft = layout.marginTop = layout.marginRight = layout.marginBottom = 10;
    layout.verticalSpacing = 10;//w w  w.j a va  2 s .  c  o  m
    composite.setLayout(layout);
    Button button = new Button(composite, SWT.PUSH);
    button.setText("SWT.PUSH");
    button = new Button(composite, SWT.RADIO);
    button.setText("SWT.RADIO");
    button = new Button(composite, SWT.CHECK);
    button.setText("SWT.CHECK");
    button = new Button(composite, SWT.TOGGLE);
    button.setText("SWT.TOGGLE");
    ExpandItem item0 = new ExpandItem(bar, SWT.NONE, 0);
    item0.setText("What is your favorite button");
    item0.setHeight(composite.computeSize(SWT.DEFAULT, SWT.DEFAULT).y);
    item0.setControl(composite);
    item0.setImage(image);

    // Second item
    composite = new Composite(bar, SWT.NONE);
    layout = new GridLayout(2, false);
    layout.marginLeft = layout.marginTop = layout.marginRight = layout.marginBottom = 10;
    layout.verticalSpacing = 10;
    composite.setLayout(layout);
    Label label = new Label(composite, SWT.NONE);
    label.setImage(display.getSystemImage(SWT.ICON_ERROR));
    label = new Label(composite, SWT.NONE);
    label.setText("SWT.ICON_ERROR");
    label = new Label(composite, SWT.NONE);
    label.setImage(display.getSystemImage(SWT.ICON_INFORMATION));
    label = new Label(composite, SWT.NONE);
    label.setText("SWT.ICON_INFORMATION");
    label = new Label(composite, SWT.NONE);
    label.setImage(display.getSystemImage(SWT.ICON_WARNING));
    label = new Label(composite, SWT.NONE);
    label.setText("SWT.ICON_WARNING");
    label = new Label(composite, SWT.NONE);
    label.setImage(display.getSystemImage(SWT.ICON_QUESTION));
    label = new Label(composite, SWT.NONE);
    label.setText("SWT.ICON_QUESTION");
    ExpandItem item1 = new ExpandItem(bar, SWT.NONE, 1);
    item1.setText("What is your favorite icon");
    item1.setHeight(composite.computeSize(SWT.DEFAULT, SWT.DEFAULT).y);
    item1.setControl(composite);
    item1.setImage(image);

    // Third item
    composite = new Composite(bar, SWT.NONE);
    layout = new GridLayout(2, true);
    layout.marginLeft = layout.marginTop = layout.marginRight = layout.marginBottom = 10;
    layout.verticalSpacing = 10;
    composite.setLayout(layout);
    label = new Label(composite, SWT.NONE);
    label.setText("Scale");
    new Scale(composite, SWT.NONE);
    label = new Label(composite, SWT.NONE);
    label.setText("Spinner");
    new Spinner(composite, SWT.BORDER);
    label = new Label(composite, SWT.NONE);
    label.setText("Slider");
    new Slider(composite, SWT.NONE);
    ExpandItem item2 = new ExpandItem(bar, SWT.NONE, 2);
    item2.setText("What is your favorite range widget");
    item2.setHeight(composite.computeSize(SWT.DEFAULT, SWT.DEFAULT).y);
    item2.setControl(composite);
    item2.setImage(image);

    item1.setExpanded(true);
    bar.setSpacing(8);
    shell.setSize(400, 350);
    shell.open();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch()) {
            display.sleep();
        }
    }
    image.dispose();
    display.dispose();
}

From source file:SystemFileIconLoad.java

public static void main(String[] args) {
    Display display = new Display();
    Shell shell = new Shell(display);
    shell.setLayout(new RowLayout());

    Label label = new Label(shell, SWT.NONE);
    Image image = null;// w w w  .  jav a 2s.c o m

    Program p = Program.findProgram(".txt");
    ImageData data = p.getImageData();
    image = new Image(display, data);
    label.setImage(image);

    p = Program.findProgram(".bmp");
    data = p.getImageData();
    image = new Image(display, data);
    label = new Label(shell, SWT.NONE);
    label.setImage(image);

    p = Program.findProgram(".doc");
    data = p.getImageData();
    image = new Image(display, data);
    label = new Label(shell, SWT.NONE);
    label.setImage(image);

    label.pack();
    shell.pack();
    shell.open();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch())
            display.sleep();
    }
    if (image != null)
        image.dispose();
    display.dispose();
}

From source file:Snippet32.java

public static void main(String[] args) {
    Display display = new Display();
    Shell shell = new Shell(display);
    Label label = new Label(shell, SWT.NONE);
    label.setText("Can't find icon for .bmp");
    Image image = null;/*from   w  w w. j  av  a 2  s  . c om*/
    Program p = Program.findProgram(".bmp");
    if (p != null) {
        ImageData data = p.getImageData();
        if (data != null) {
            image = new Image(display, data);
            label.setImage(image);
        }
    }
    label.pack();
    shell.pack();
    shell.open();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch())
            display.sleep();
    }
    if (image != null)
        image.dispose();
    display.dispose();
}

From source file:org.eclipse.swt.snippets.Snippet367.java

public static void main(String[] args) {
    final ImageFileNameProvider filenameProvider = zoom -> {
        switch (zoom) {
        case 100:
            return IMAGE_PATH_100;
        case 150:
            return IMAGE_PATH_150;
        case 200:
            return IMAGE_PATH_200;
        default:/* w  w  w.j a v a  2 s .c o  m*/
            return null;
        }
    };
    final ImageDataProvider imageDataProvider = zoom -> {
        switch (zoom) {
        case 100:
            return new ImageData(IMAGE_PATH_100);
        case 150:
            return new ImageData(IMAGE_PATH_150);
        case 200:
            return new ImageData(IMAGE_PATH_200);
        default:
            return null;
        }
    };

    final Display display = new Display();
    final Shell shell = new Shell(display);
    shell.setText("Snippet367");
    shell.setLayout(new GridLayout(3, false));

    Menu menuBar = new Menu(shell, SWT.BAR);
    shell.setMenuBar(menuBar);
    MenuItem fileItem = new MenuItem(menuBar, SWT.CASCADE);
    fileItem.setText("&File");
    Menu fileMenu = new Menu(menuBar);
    fileItem.setMenu(fileMenu);
    MenuItem exitItem = new MenuItem(fileMenu, SWT.PUSH);
    exitItem.setText("&Exit");
    exitItem.addListener(SWT.Selection, e -> shell.close());

    new Label(shell, SWT.NONE).setText(IMAGE_200 + ":");
    new Label(shell, SWT.NONE).setImage(new Image(display, IMAGE_PATH_200));
    new Button(shell, SWT.PUSH).setImage(new Image(display, IMAGE_PATH_200));

    new Label(shell, SWT.NONE).setText(IMAGE_150 + ":");
    new Label(shell, SWT.NONE).setImage(new Image(display, IMAGE_PATH_150));
    new Button(shell, SWT.NONE).setImage(new Image(display, IMAGE_PATH_150));

    new Label(shell, SWT.NONE).setText(IMAGE_100 + ":");
    new Label(shell, SWT.NONE).setImage(new Image(display, IMAGE_PATH_100));
    new Button(shell, SWT.NONE).setImage(new Image(display, IMAGE_PATH_100));

    createSeparator(shell);

    new Label(shell, SWT.NONE).setText("ImageFileNameProvider:");
    new Label(shell, SWT.NONE).setImage(new Image(display, filenameProvider));
    new Button(shell, SWT.NONE).setImage(new Image(display, filenameProvider));

    new Label(shell, SWT.NONE).setText("ImageDataProvider:");
    new Label(shell, SWT.NONE).setImage(new Image(display, imageDataProvider));
    new Button(shell, SWT.NONE).setImage(new Image(display, imageDataProvider));

    createSeparator(shell);

    new Label(shell, SWT.NONE).setText("1. Canvas\n(PaintListener)");
    final Point size = new Point(550, 40);
    final Canvas canvas = new Canvas(shell, SWT.NONE);
    canvas.addPaintListener(e -> {
        Point size1 = canvas.getSize();
        paintImage(e.gc, size1);
    });
    GridData gridData = new GridData(size.x, size.y);
    gridData.horizontalSpan = 2;
    canvas.setLayoutData(gridData);

    createSeparator(shell);

    new Label(shell, SWT.NONE).setText("2. Painted image\n (default resolution)");
    Image image = new Image(display, size.x, size.y);
    GC gc = new GC(image);
    try {
        paintImage(gc, size);
    } finally {
        gc.dispose();
    }
    Label imageLabel = new Label(shell, SWT.NONE);
    imageLabel.setImage(image);
    imageLabel.setLayoutData(new GridData(SWT.BEGINNING, SWT.BEGINNING, false, false, 2, 1));

    createSeparator(shell);

    new Label(shell, SWT.NONE).setText("3. Painted image\n(multi-res, unzoomed paint)");
    imageLabel = new Label(shell, SWT.NONE);
    imageLabel.setImage(new Image(display, (ImageDataProvider) zoom -> {
        Image temp = new Image(display, size.x * zoom / 100, size.y * zoom / 100);
        GC gc1 = new GC(temp);
        try {
            paintImage(gc1, size);
            return temp.getImageData();
        } finally {
            gc1.dispose();
            temp.dispose();
        }
    }));
    imageLabel.setLayoutData(new GridData(SWT.BEGINNING, SWT.BEGINNING, false, false, 2, 1));

    createSeparator(shell);

    new Label(shell, SWT.NONE).setText("4. Painted image\n(multi-res, zoomed paint)");
    imageLabel = new Label(shell, SWT.NONE);
    imageLabel.setImage(new Image(display, (ImageDataProvider) zoom -> {
        Image temp = new Image(display, size.x * zoom / 100, size.y * zoom / 100);
        GC gc1 = new GC(temp);
        try {
            paintImage2(gc1, new Point(size.x * zoom / 100, size.y * zoom / 100), zoom / 100);
            return temp.getImageData();
        } finally {
            gc1.dispose();
            temp.dispose();
        }
    }));
    imageLabel.setLayoutData(new GridData(SWT.BEGINNING, SWT.BEGINNING, false, false, 2, 1));

    createSeparator(shell);

    new Label(shell, SWT.NONE).setText("5. 50x50 box\n(Display#getDPI(): " + display.getDPI().x + ")");
    Label box = new Label(shell, SWT.NONE);
    box.setBackground(display.getSystemColor(SWT.COLOR_WIDGET_DARK_SHADOW));
    box.setLayoutData(new GridData(50, 50));

    shell.pack();
    shell.open();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch())
            display.sleep();
    }
    display.dispose();
}

From source file:org.eclipse.swt.snippets.Snippet32.java

public static void main(String[] args) {
    Display display = new Display();
    Shell shell = new Shell(display);
    shell.setText("Snippet 32");
    Label label = new Label(shell, SWT.NONE);
    label.setText("Can't find icon for .bmp");
    Image image = null;/*from   w w w. j  ava2  s . co m*/
    Program p = Program.findProgram(".bmp");
    if (p != null) {
        ImageData data = p.getImageData();
        if (data != null) {
            image = new Image(display, data);
            label.setImage(image);
        }
    }
    label.pack();
    shell.pack();
    shell.open();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch())
            display.sleep();
    }
    if (image != null)
        image.dispose();
    display.dispose();
}

From source file:org.eclipse.swt.snippets.Snippet373.java

@SuppressWarnings("restriction")
public static void main(String[] args) {
    System.setProperty("swt.autoScale", "quarter");
    Display display = new Display();
    final Image eclipse = new Image(display, filenameProvider);
    final Image eclipseToolBar1 = new Image(display, filenameProvider);
    final Image eclipseToolBar2 = new Image(display, filenameProvider);
    final Image eclipseTableHeader = new Image(display, filenameProvider);
    final Image eclipseTableItem = new Image(display, filenameProvider);
    final Image eclipseTree1 = new Image(display, filenameProvider);
    final Image eclipseTree2 = new Image(display, filenameProvider);
    final Image eclipseCTab1 = new Image(display, filenameProvider);
    final Image eclipseCTab2 = new Image(display, filenameProvider);

    Shell shell = new Shell(display);
    shell.setText("Snippet 373");
    shell.setImage(eclipse);// ww w .ja  v  a2s .c  om
    shell.setText("DynamicDPI @ " + DPIUtil.getDeviceZoom());
    shell.setLayout(new RowLayout(SWT.VERTICAL));
    shell.setLocation(100, 100);
    shell.setSize(500, 600);
    shell.addListener(SWT.ZoomChanged, new Listener() {
        @Override
        public void handleEvent(Event e) {
            if (display.getPrimaryMonitor().equals(shell.getMonitor())) {
                MessageBox box = new MessageBox(shell, SWT.PRIMARY_MODAL | SWT.OK | SWT.CANCEL);
                box.setText(shell.getText());
                box.setMessage("DPI changed, do you want to exit & restart ?");
                e.doit = (box.open() == SWT.OK);
                if (e.doit) {
                    shell.close();
                    System.out.println("Program exit.");
                }
            }
        }
    });

    // Menu
    Menu bar = new Menu(shell, SWT.BAR);
    shell.setMenuBar(bar);
    MenuItem fileItem = new MenuItem(bar, SWT.CASCADE);
    fileItem.setText("&File");
    fileItem.setImage(eclipse);
    Menu submenu = new Menu(shell, SWT.DROP_DOWN);
    fileItem.setMenu(submenu);
    MenuItem subItem = new MenuItem(submenu, SWT.PUSH);
    subItem.addListener(SWT.Selection, e -> System.out.println("Select All"));
    subItem.setText("Select &All\tCtrl+A");
    subItem.setAccelerator(SWT.MOD1 + 'A');
    subItem.setImage(eclipse);

    // CTabFolder
    CTabFolder folder = new CTabFolder(shell, SWT.BORDER);
    for (int i = 0; i < 2; i++) {
        CTabItem cTabItem = new CTabItem(folder, i % 2 == 0 ? SWT.CLOSE : SWT.NONE);
        cTabItem.setText("Item " + i);
        Text textMsg = new Text(folder, SWT.MULTI);
        textMsg.setText("Content for Item " + i);
        cTabItem.setControl(textMsg);
        cTabItem.setImage((i % 2 == 1) ? eclipseCTab1 : eclipseCTab2);
    }

    // PerMonitorV2 setting
    //      Label label = new Label (shell, SWT.BORDER);
    //      label.setText("PerMonitorV2 value before:after:Error");
    //      Text text = new Text(shell, SWT.BORDER);
    //      text.setText(DPIUtil.BEFORE + ":" + DPIUtil.AFTER + ":" + DPIUtil.RESULT);

    // Composite for Label, Button, Tool-bar
    Composite composite = new Composite(shell, SWT.BORDER);
    composite.setLayout(new RowLayout(SWT.HORIZONTAL));

    // Label with Image
    Label label1 = new Label(composite, SWT.BORDER);
    label1.setImage(eclipse);

    // Label with text only
    Label label2 = new Label(composite, SWT.BORDER);
    label2.setText("No Image");

    // Button with text + Old Image Constructor
    Button oldButton1 = new Button(composite, SWT.PUSH);
    oldButton1.setText("Old Img");
    oldButton1.setImage(new Image(display, IMAGE_PATH_100));

    // Button with Old Image Constructor
    //      Button oldButton2 = new Button(composite, SWT.PUSH);
    //      oldButton2.setImage(new Image(display, filenameProvider.getImagePath(100)));

    // Button with Image
    Button createDialog = new Button(composite, SWT.PUSH);
    createDialog.setText("Child Dialog");
    createDialog.setImage(eclipse);
    createDialog.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent event) {
            final Shell dialog = new Shell(shell, SWT.DIALOG_TRIM | SWT.RESIZE);
            dialog.setText("Child Dialog");
            RowLayout rowLayout = new RowLayout(SWT.VERTICAL);
            dialog.setLayout(rowLayout);
            Label label = new Label(dialog, SWT.BORDER);
            label.setImage(eclipse);
            Point location = shell.getLocation();
            dialog.setLocation(location.x + 250, location.y + 50);
            dialog.pack();
            dialog.open();
        }
    });

    // Toolbar with Image
    ToolBar toolBar = new ToolBar(composite, SWT.FLAT | SWT.BORDER);
    Rectangle clientArea = shell.getClientArea();
    toolBar.setLocation(clientArea.x, clientArea.y);
    for (int i = 0; i < 2; i++) {
        int style = i % 2 == 1 ? SWT.DROP_DOWN : SWT.PUSH;
        ToolItem toolItem = new ToolItem(toolBar, style);
        toolItem.setImage((i % 2 == 0) ? eclipseToolBar1 : eclipseToolBar2);
        toolItem.setEnabled(i % 2 == 0);
    }
    toolBar.pack();

    Button button = new Button(shell, SWT.PUSH);
    button.setText("Refresh-Current Monitor : Zoom");
    Text text1 = new Text(shell, SWT.BORDER);
    Monitor monitor = button.getMonitor();
    text1.setText("" + monitor.getZoom());
    button.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseDown(MouseEvent e) {
            Monitor monitor = button.getMonitor();
            text1.setText("" + monitor.getZoom());
        }
    });
    Button button2 = new Button(shell, SWT.PUSH);
    button2.setText("Refresh-Both Monitors : Zoom");
    Text text2 = new Text(shell, SWT.BORDER);
    Monitor[] monitors = display.getMonitors();
    StringBuilder text2String = new StringBuilder();
    for (int i = 0; i < monitors.length; i++) {
        text2String.append(monitors[i].getZoom() + (i < (monitors.length - 1) ? " - " : ""));
    }
    text2.setText(text2String.toString());
    button2.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseDown(MouseEvent e) {
            Monitor[] monitors = display.getMonitors();
            StringBuilder text2String = new StringBuilder();
            for (int i = 0; i < monitors.length; i++) {
                text2String.append(monitors[i].getZoom() + (i < (monitors.length - 1) ? " - " : ""));
            }
            text2.setText(text2String.toString());
        }
    });

    // Table
    Table table = new Table(shell, SWT.MULTI | SWT.BORDER | SWT.FULL_SELECTION);
    table.setLinesVisible(true);
    table.setHeaderVisible(true);
    String titles[] = { "Title 1" };
    for (int i = 0; i < titles.length; i++) {
        TableColumn column = new TableColumn(table, SWT.NONE);
        column.setText(titles[i]);
        column.setImage(eclipseTableHeader);
    }
    for (int i = 0; i < 1; i++) {
        TableItem item = new TableItem(table, SWT.NONE);
        item.setText(0, "Data " + i);
        item.setImage(0, eclipseTableItem);
    }
    for (int i = 0; i < titles.length; i++) {
        table.getColumn(i).pack();
    }

    // Tree
    final Tree tree = new Tree(shell, SWT.BORDER);
    for (int i = 0; i < 1; i++) {
        TreeItem iItem = new TreeItem(tree, 0);
        iItem.setText("TreeItem (0) -" + i);
        iItem.setImage(eclipseTree1);
        TreeItem jItem = null;
        for (int j = 0; j < 1; j++) {
            jItem = new TreeItem(iItem, 0);
            jItem.setText("TreeItem (1) -" + j);
            jItem.setImage(eclipseTree2);
            jItem.setExpanded(true);
        }
        tree.select(jItem);
    }

    // Shell Location
    Monitor primary = display.getPrimaryMonitor();
    Rectangle bounds = primary.getBounds();
    Rectangle rect = shell.getBounds();
    int x = bounds.x + (bounds.width - rect.width) / 2;
    int y = bounds.y + (bounds.height - rect.height) / 2;
    shell.setLocation(x, y);
    shell.open();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch())
            display.sleep();
    }
    display.dispose();
}

From source file:org.eclipse.swt.snippets.Snippet292.java

public static void main(String[] args) {
    final Display display = new Display();
    final Shell shell = new Shell(display);
    shell.setText("Snippet 292");
    final Group group = new Group(shell, SWT.NONE);
    group.setText("Group");
    group.setLayout(new GridLayout());
    final Tree tree = new Tree(group, SWT.BORDER);
    for (int i = 0; i < 5; i++) {
        TreeItem treeItem = new TreeItem(tree, SWT.NONE);
        treeItem.setText("TreeItem " + i);
        for (int j = 0; j < 3; j++) {
            TreeItem subItem = new TreeItem(treeItem, SWT.NONE);
            subItem.setText("SubItem " + i + "-" + j);
        }//from  w  w w .  ja v  a  2s.  c om
        if (i % 3 == 0)
            treeItem.setExpanded(true);
    }
    new Button(group, SWT.PUSH).setText("Button");
    final Label label = new Label(shell, SWT.NONE);
    label.addListener(SWT.Dispose, e -> {
        Image image = label.getImage();
        if (image != null)
            image.dispose();
    });
    Button button = new Button(shell, SWT.PUSH);
    button.setText("Snapshot");
    button.addListener(SWT.Selection, e -> {
        Image image = label.getImage();
        if (image != null)
            image.dispose();
        image = new Image(display, group.getBounds());
        GC gc = new GC(image);
        boolean success = group.print(gc);
        gc.dispose();
        label.setImage(image);
        if (!success) {
            MessageBox messageBox = new MessageBox(shell, SWT.OK | SWT.PRIMARY_MODAL);
            messageBox.setMessage("Sorry, taking a snapshot is not supported on your platform");
            messageBox.open();
        }
    });
    GridLayout layout = new GridLayout(2, true);
    shell.setLayout(layout);
    group.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    label.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    button.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1));
    shell.pack();
    shell.open();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch())
            display.sleep();
    }
    display.dispose();
}

From source file:ImageRegistryTest.java

/**
 * Creates the window's contents/*from   www.  j  ava  2  s .c o m*/
 * 
 * @param parent the parent composite
 * @return Control
 */
protected Control createContents(Composite parent) {
    Composite composite = new Composite(parent, SWT.NONE);
    composite.setLayout(new FillLayout());

    // Put the images in the registry
    ImageRegistry ir = new ImageRegistry();
    ir.put(ONE, ImageDescriptor.createFromFile(ImageRegistryTest.class, "java2s.gif"));
    ir.put(TWO, ImageDescriptor.createFromFile(ImageRegistryTest.class, "java2s.gif"));
    ir.put(THREE, ImageDescriptor.createFromFile(ImageRegistryTest.class, "java2s.gif"));

    // Create the labels and add the images
    Label label = new Label(composite, SWT.NONE);
    label.setImage(ir.get(ONE));
    label = new Label(composite, SWT.NONE);
    label.setImage(ir.get(TWO));
    label = new Label(composite, SWT.NONE);
    label.setImage(ir.get(THREE));

    getShell().pack();

    return composite;
}