Example usage for org.eclipse.swt.widgets Button getImage

List of usage examples for org.eclipse.swt.widgets Button getImage

Introduction

In this page you can find the example usage for org.eclipse.swt.widgets Button getImage.

Prototype

public Image getImage() 

Source Link

Document

Returns the receiver's image if it has one, or null if it does not.

Usage

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

public static void main(String[] args) {
    final Display display = new Display();
    final Clipboard clipboard = new Clipboard(display);
    final Shell shell = new Shell(display, SWT.SHELL_TRIM);
    shell.setText("Snippet 282");
    shell.setLayout(new GridLayout());
    shell.setText("Clipboard ImageTransfer");

    final Button imageButton = new Button(shell, SWT.NONE);
    GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true);
    gd.minimumHeight = 400;/*from   w ww  .j  a v a2  s  .c o  m*/
    gd.minimumWidth = 600;
    imageButton.setLayoutData(gd);

    final Text imageText = new Text(shell, SWT.BORDER);
    imageText.setLayoutData(new GridData(SWT.FILL, SWT.BEGINNING, true, false));

    Composite buttons = new Composite(shell, SWT.NONE);
    buttons.setLayout(new GridLayout(4, true));
    Button button = new Button(buttons, SWT.PUSH);
    button.setText("Open");
    button.addListener(SWT.Selection, event -> {
        FileDialog dialog = new FileDialog(shell, SWT.OPEN);
        dialog.setText("Open an image file or cancel");
        String string = dialog.open();
        if (string != null) {
            imageButton.setText("");
            Image image = imageButton.getImage();
            if (image != null)
                image.dispose();
            image = new Image(display, string);
            imageButton.setImage(image);
            imageText.setText(string);
        }
    });

    button = new Button(buttons, SWT.PUSH);
    button.setText("Copy");
    button.addListener(SWT.Selection, event -> {
        Image image = imageButton.getImage();
        if (image != null) {
            ImageTransfer imageTransfer = ImageTransfer.getInstance();
            TextTransfer textTransfer = TextTransfer.getInstance();
            clipboard.setContents(new Object[] { image.getImageData(), imageText.getText() },
                    new Transfer[] { imageTransfer, textTransfer });
        }
    });

    button = new Button(buttons, SWT.PUSH);
    button.setText("Paste");
    button.addListener(SWT.Selection, event -> {
        ImageData imageData = (ImageData) clipboard.getContents(ImageTransfer.getInstance());
        if (imageData != null) {
            imageButton.setText("");
            Image image = imageButton.getImage();
            if (image != null)
                image.dispose();
            image = new Image(display, imageData);
            imageButton.setImage(image);
        } else {
            imageButton.setText("No image");
            imageButton.setImage(null);
        }
        String text = (String) clipboard.getContents(TextTransfer.getInstance());
        if (text != null) {
            imageText.setText(text);
        } else {
            imageText.setText("");
        }
    });

    button = new Button(buttons, SWT.PUSH);
    button.setText("Clear");
    button.addListener(SWT.Selection, event -> {
        imageButton.setText("");
        Image image = imageButton.getImage();
        if (image != null)
            image.dispose();
        imageButton.setImage(null);
        imageText.setText("");
    });

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

From source file:ImageButton.java

public ImageButton() {
    //shell.setLayout(new RowLayout());

    Button button = new Button(shell, SWT.PUSH);
    button.setBounds(10, 10, 200, 200);// w  w w  .j av  a2 s  .  c  o m

    button.setImage(image);
    button.setText("button");

    System.out.println(button.getImage());

    shell.pack();
    shell.open();
    //textUser.forceFocus();

    // Set up the event loop.
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch()) {
            // If no more entries in event queue
            display.sleep();
        }
    }

    display.dispose();
}