Mega Code Archive

 
Categories / Java / SWT Jface Eclipse
 

SelectionListener and DisposeListener

//Send questions, comments, bug reports, etc. to the authors: //Rob Warner (rwarner@interspatial.com) //Robert Harris (rbrt_harris@yahoo.com) import org.eclipse.swt.SWT; import org.eclipse.swt.events.*; import org.eclipse.swt.layout.*; import org.eclipse.swt.widgets.*; /**  * This class demonstrates SelectionListener and DisposeListener  */ public class DisposeListenerExample {   /**    * The application entry point    *     * @param args the command line arguments    */   public static void main(String[] args) {     Display display = new Display();     // Create the main window     Shell mainShell = new Shell(display);     mainShell.setLayout(new FillLayout());     mainShell.setText("Big Brother");     final Label mainMessage = new Label(mainShell, SWT.LEFT);     mainMessage.setText("Don't even think about it");     // Create the child shell and the dispose listener     final Shell childShell = new Shell(mainShell);     childShell.addDisposeListener(new DisposeListener() {       public void widgetDisposed(DisposeEvent event) {         // When the child shell is disposed, change the message on the main shell         mainMessage.setText("Gotcha");       }     });     childShell.setLayout(new FillLayout());     childShell.setText("little brother");     // Put a message on the child shell     new Label(childShell, SWT.LEFT)         .setText("If you dispose me, my big brother's gonna get you!");     // Add a button and a listener to the child shell     Button button = new Button(childShell, SWT.PUSH);     button.setText("Close Me!");     button.addSelectionListener(new SelectionAdapter() {       public void widgetSelected(SelectionEvent event) {         // When the button is pressed, close the child shell         childShell.close();       }     });     // Open the shells     mainShell.open();     childShell.open();     while (!mainShell.isDisposed()) {       if (!display.readAndDispatch()) {         display.sleep();       }     }     display.dispose();   } }