MainClass.java Source code

Java tutorial

Introduction

Here is the source code for MainClass.java

Source

import java.io.FileInputStream;
import java.io.FileNotFoundException;

import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.dialogs.IInputValidator;
import org.eclipse.jface.dialogs.IconAndMessageDialog;
import org.eclipse.jface.window.ApplicationWindow;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;

public class MainClass extends ApplicationWindow {
    public MainClass() {
        super(null);
    }

    public void run() {
        setBlockOnOpen(true);
        open();
        Display.getCurrent().dispose();
    }

    protected void configureShell(Shell shell) {
        super.configureShell(shell);
        shell.setText("Send Message");
        shell.setSize(500, 400);

        MyMessageDialog dlg = new MyMessageDialog(shell);
        dlg.open();
    }

    public static void main(String[] args) {
        new MainClass().run();
    }
}

class MyMessageDialog extends IconAndMessageDialog {
    public static final int MyID = IDialogConstants.CLIENT_ID;

    public static final String MyLABEL = "Custom";
    private Image image;

    private Label label;

    public MyMessageDialog(Shell parent) {
        super(parent);
        try {
            image = new Image(parent.getDisplay(), new FileInputStream("images/loser.gif"));
        } catch (FileNotFoundException e) {
        }
        message = "message";
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public boolean close() {
        if (image != null)
            image.dispose();
        return super.close();
    }

    protected Control createDialogArea(Composite parent) {
        createMessageArea(parent);
        Composite composite = new Composite(parent, SWT.NONE);
        GridData data = new GridData(GridData.FILL_BOTH);
        data.horizontalSpan = 2;
        composite.setLayoutData(data);
        composite.setLayout(new FillLayout());

        label = new Label(composite, SWT.LEFT);
        return composite;
    }

    protected void createButtonsForButtonBar(Composite parent) {
        createButton(parent, IDialogConstants.YES_ID, IDialogConstants.YES_LABEL, true);
        createButton(parent, IDialogConstants.NO_ID, IDialogConstants.NO_LABEL, false);
        createButton(parent, MyID, MyLABEL, false);
    }

    protected void buttonPressed(int buttonId) {
        if (buttonId == MyID) {
            setReturnCode(buttonId);
            close();
        } else {
            label.setText("Yeah, right. You know nothing.");
        }
    }

    protected Image getImage() {
        return image;
    }
}