Top Description Fields Constructors Methods
org.eclipse.swt.browser

public Class WindowEvent

extends TypedEvent
Class Inheritance
Imports
org.eclipse.swt.events.*, org.eclipse.swt.graphics.*, org.eclipse.swt.widgets.*

A WindowEvent is sent by a Browser when a new window needs to be created or when an existing window needs to be closed. This notification occurs when a javascript command such as window.open or window.close gets executed by a Browser.

The following example shows how WindowEvent's are typically handled.


	public static void main(String[] args) {
		Display display = new Display();
		Shell shell = new Shell(display);
		shell.setText("Main Window");
		shell.setLayout(new FillLayout());
		Browser browser = new Browser(shell, SWT.NONE);
		initialize(display, browser);
		shell.open();
		browser.setUrl("http://www.eclipse.org");
		while (!shell.isDisposed()) {
			if (!display.readAndDispatch())
				display.sleep();
		}
		display.dispose();
	}

	static void initialize(final Display display, Browser browser) {
		browser.addOpenWindowListener(new OpenWindowListener() {
			public void open(WindowEvent event) {
				// Certain platforms can provide a default full browser.
				// simply return in that case if the application prefers
				// the default full browser to the embedded one set below.
				if (!event.required) return;

				// Embed the new window
				Shell shell = new Shell(display);
				shell.setText("New Window");
				shell.setLayout(new FillLayout());
				Browser browser = new Browser(shell, SWT.NONE);
				initialize(display, browser);
				event.browser = browser;
			}
		});
		browser.addVisibilityWindowListener(new VisibilityWindowListener() {
			public void hide(WindowEvent event) {
				Browser browser = (Browser)event.widget;
				Shell shell = browser.getShell();
				shell.setVisible(false);
			}
			public void show(WindowEvent event) {
				Browser browser = (Browser)event.widget;
				Shell shell = browser.getShell();
				if (event.location != null) shell.setLocation(event.location);
				if (event.size != null) {
					Point size = event.size;
					shell.setSize(shell.computeSize(size.x, size.y));
				}
				if (event.addressBar || event.menuBar || event.statusBar || event.toolBar) {
					// Create widgets for the address bar, menu bar, status bar and/or tool bar
					// leave enough space in the Shell to accommodate a Browser of the size
					// given by event.size
				}
				shell.open();
			}
		});
		browser.addCloseWindowListener(new CloseWindowListener() {
			public void close(WindowEvent event) {
				Browser browser = (Browser)event.widget;
				Shell shell = browser.getShell();
				shell.close();
			}
		});
	}
 
The following notifications are emitted when the user selects a hyperlink that targets a new window or as the result of a javascript that executes window.open.

Main Browser

Second Browser

Since
3.0
See Also
CloseWindowListener, OpenWindowListener, VisibilityWindowListener, Sample code and further information

Field Summary

Modifier and TypeField and Description
public boolean
addressBar

Specifies whether the Shell hosting the Browser should display an address bar.

public Browser
browser

Browser provided by the application.

public Point
location

Requested location for the Shell hosting the Browser.

public boolean
required

Specifies whether the platform requires the user to provide a Browser to handle the new window.

pack-priv static final long
public Point
size

Requested Browser size.

public boolean
statusBar

Specifies whether the Shell hosting the Browser should display a status bar.

public boolean
toolBar

Specifies whether the Shell hosting the Browser should display a tool bar.

Inherited from org.eclipse.swt.events.TypedEvent:
datadisplaytimewidget

Constructor Summary

AccessConstructor and Description
public
WindowEvent(Widget
the widget that fired the event
widget
)

Constructs a new instance of this class.

Method Summary

Modifier and TypeMethod and Description
public String

Returns:

a string representation of the event
toString
()

Overrides org.eclipse.swt.events.TypedEvent.toString.

Returns a string containing a concise, human-readable description of the receiver.

Field Detail

addressBarback to summary
public boolean addressBar

Specifies whether the Shell hosting the Browser should display an address bar.

Since
3.1
browserback to summary
public Browser browser

Browser provided by the application.

locationback to summary
public Point location

Requested location for the Shell hosting the Browser. It is null if no location has been requested.

requiredback to summary
public boolean required

Specifies whether the platform requires the user to provide a Browser to handle the new window.

Since
3.1
serialVersionUIDback to summary
pack-priv static final long serialVersionUID

Hides org.eclipse.swt.events.TypedEvent.serialVersionUID.

sizeback to summary
public Point size

Requested Browser size. The client area of the Shell hosting the Browser should be large enough to accommodate that size. It is null if no size has been requested.

statusBarback to summary
public boolean statusBar

Specifies whether the Shell hosting the Browser should display a status bar.

Since
3.1
toolBarback to summary
public boolean toolBar

Specifies whether the Shell hosting the Browser should display a tool bar.

Since
3.1

Constructor Detail

WindowEventback to summary
public WindowEvent(Widget widget)

Constructs a new instance of this class.

Parameters
widget:Widget

the widget that fired the event

Since
3.5

Method Detail

toStringback to summary
public String toString()

Overrides org.eclipse.swt.events.TypedEvent.toString.

Returns a string containing a concise, human-readable description of the receiver.

Returns:String

a string representation of the event

Annotations
@Override