Mega Code Archive

 
Categories / Java / SWT Jface Eclipse
 

Demonstrates the MessageBox class

//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.events.*; import org.eclipse.swt.layout.*; import org.eclipse.swt.widgets.*; /**  * This class demonstrates the MessageBox class  */ public class ShowMessageBox {   // Strings to show in the Icon dropdown   private static final String[] ICONS = { "SWT.ICON_ERROR",       "SWT.ICON_INFORMATION", "SWT.ICON_QUESTION", "SWT.ICON_WARNING",       "SWT.ICON_WORKING"};   // Strings to show in the Buttons dropdown   private static final String[] BUTTONS = { "SWT.OK", "SWT.OK | SWT.CANCEL",       "SWT.YES | SWT.NO", "SWT.YES | SWT.NO | SWT.CANCEL",       "SWT.RETRY | SWT.CANCEL", "SWT.ABORT | SWT.RETRY | SWT.IGNORE"};   /**    * Runs the application    */   public void run() {     Display display = new Display();     Shell shell = new Shell(display);     shell.setText("Show Message Box");     createContents(shell);     shell.pack();     shell.open();     while (!shell.isDisposed()) {       if (!display.readAndDispatch()) {         display.sleep();       }     }     display.dispose();   }   /**    * Creates the main window's contents    *     * @param shell the parent shell    */   private void createContents(final Shell shell) {     shell.setLayout(new GridLayout(2, false));     // Create the dropdown to allow icon selection     new Label(shell, SWT.NONE).setText("Icon:");     final Combo icons = new Combo(shell, SWT.DROP_DOWN | SWT.READ_ONLY);     for (int i = 0, n = ICONS.length; i < n; i++)       icons.add(ICONS[i]);     icons.select(0);     // Create the dropdown to allow button selection     new Label(shell, SWT.NONE).setText("Buttons:");     final Combo buttons = new Combo(shell, SWT.DROP_DOWN | SWT.READ_ONLY);     for (int i = 0, n = BUTTONS.length; i < n; i++)       buttons.add(BUTTONS[i]);     buttons.select(0);     // Create the entry field for the message     new Label(shell, SWT.NONE).setText("Message:");     final Text message = new Text(shell, SWT.BORDER);     message.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));     // Create the label to show the return from the open call     new Label(shell, SWT.NONE).setText("Return:");     final Label returnVal = new Label(shell, SWT.NONE);     returnVal.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));     // Create the button and event handler     // to display the message box     Button button = new Button(shell, SWT.PUSH);     button.setText("Show Message");     button.addSelectionListener(new SelectionAdapter() {       public void widgetSelected(SelectionEvent event) {         // Clear any previously returned value         returnVal.setText("");         // This will hold the style to pass to the MessageBox constructor         int style = 0;         // Determine which icon was selected and         // add it to the style         switch (icons.getSelectionIndex()) {         case 0:           style |= SWT.ICON_ERROR;           break;         case 1:           style |= SWT.ICON_INFORMATION;           break;         case 2:           style |= SWT.ICON_QUESTION;           break;         case 3:           style |= SWT.ICON_WARNING;           break;         case 4:           style |= SWT.ICON_WORKING;           break;         }         // Determine which set of buttons was selected         // and add it to the style         switch (buttons.getSelectionIndex()) {         case 0:           style |= SWT.OK;           break;         case 1:           style |= SWT.OK | SWT.CANCEL;           break;         case 2:           style |= SWT.YES | SWT.NO;           break;         case 3:           style |= SWT.YES | SWT.NO | SWT.CANCEL;           break;         case 4:           style |= SWT.RETRY | SWT.CANCEL;           break;         case 5:           style |= SWT.ABORT | SWT.RETRY | SWT.IGNORE;           break;         }         // Display the message box         MessageBox mb = new MessageBox(shell, style);         mb.setText("Message from SWT");         mb.setMessage(message.getText());         int val = mb.open();         String valString = "";         switch (val) // val contains the constant of the selected button         {         case SWT.OK:           valString = "SWT.OK";           break;         case SWT.CANCEL:           valString = "SWT.CANCEL";           break;         case SWT.YES:           valString = "SWT.YES";           break;         case SWT.NO:           valString = "SWT.NO";           break;         case SWT.RETRY:           valString = "SWT.RETRY";           break;         case SWT.ABORT:           valString = "SWT.ABORT";           break;         case SWT.IGNORE:           valString = "SWT.IGNORE";           break;         }         returnVal.setText(valString);       }     });   }   /**    * Application entry point    *     * @param args the command line arguments    */   public static void main(String[] args) {     new ShowMessageBox().run();   } }