ShowImageFlags.java Source code

Java tutorial

Introduction

Here is the source code for ShowImageFlags.java

Source

//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.graphics.*;
import org.eclipse.swt.layout.*;
import org.eclipse.swt.widgets.*;

/**
 * This class demonstrates the effects of the flags on the constructor:
 * 
 * <code>Image(Device device, Image srcImage, int flag)</code>
 */
public class ShowImageFlags {
    // Members to hold the images
    private Image image;
    private Image copy;
    private Image disable;
    private Image gray;

    /**
     * Runs the program
     */
    public void run() {
        Display display = new Display();
        Shell shell = new Shell(display);
        shell.setText("Show Image Flags");

        // Load the image
        image = new Image(display, this.getClass().getResourceAsStream("java2s.gif"));

        // Create the duplicate image
        copy = new Image(display, image, SWT.IMAGE_COPY);

        // Create the disabled image
        disable = new Image(display, image, SWT.IMAGE_DISABLE);

        // Create the gray image
        gray = new Image(display, image, SWT.IMAGE_GRAY);

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

        // Dispose the images
        image.dispose();
        copy.dispose();
        disable.dispose();
        gray.dispose();

        display.dispose();
    }

    /**
     * Creates the main window's contents
     * 
     * @param shell the main window
     */
    private void createContents(Shell shell) {
        shell.setLayout(new FillLayout());

        // Create labels to hold each image
        new Label(shell, SWT.NONE).setImage(image);
        new Label(shell, SWT.NONE).setImage(copy);
        new Label(shell, SWT.NONE).setImage(disable);
        new Label(shell, SWT.NONE).setImage(gray);
    }

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