Java tutorial
import org.eclipse.swt.events.DisposeEvent; import org.eclipse.swt.events.DisposeListener; import org.eclipse.swt.layout.FillLayout; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; public class DisposeListenerWithShell { public static void main(String[] args) { Display display = new Display(); Shell shell = new Shell(display); shell.setLayout(new GridLayout()); // Create the child shell and the dispose listener final Shell childShell = new Shell(shell); childShell.addDisposeListener(new DisposeListener() { public void widgetDisposed(DisposeEvent event) { // When the child shell is disposed, change the message on the main shell System.out.println("Dispoase"); } }); childShell.setLayout(new FillLayout()); childShell.setText("little brother"); childShell.open(); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) { display.sleep(); } } } }