Mega Code Archive

 
Categories / Java Tutorial / SWT
 

Adding OpenWindowListener

Browser conventions allow spawning new browser windows. Things that can trigger a new browser window include the following: The user right-clicks a link and selects Open in New Window from the context menu (note that you must build this functionality yourself). The user holds down Shift while clicking a link. The user clicks a link that has a named target for which no browser currently exists. When the user performs an action within the browser that spawns a new browser window, any OpenWindowListeners are first notified. OpenWindowListener declares one method: public void open(WindowEvent event) As with CloseWindowListener, the three WindowEvent fields (browser, location, and field) are null when passed to open(), and the widget field inherited from TypedEvent contains a reference to the current browser. import org.eclipse.swt.SWT; import org.eclipse.swt.browser.Browser; import org.eclipse.swt.browser.OpenWindowListener; import org.eclipse.swt.browser.WindowEvent; import org.eclipse.swt.layout.FillLayout; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; public class OpenWindowListenerUsing {   public static void main(String[] args) {     final Display display = new Display();     Shell shell = new Shell(display);     Browser browser = new Browser(shell, SWT.NONE);     browser.setBounds(5, 5, 600, 600);     browser.addOpenWindowListener(new OpenWindowListener() {       public void open(WindowEvent event) {         Shell shell = new Shell(display);         shell.setText("New Window");         shell.setLayout(new FillLayout());         Browser browser = new Browser(shell, SWT.NONE);         event.browser = browser;       }     });     browser.setUrl("http://rntsoft.com");     shell.open();     while (!shell.isDisposed()) {       if (!display.readAndDispatch())         display.sleep();     }     display.dispose();   } }