SWT Java Tutorial

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();
  }
}