Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com
Answertopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 


Eclipse Platform
Release 3.5

org.eclipse.swt.browser
Class WindowEvent


java.lang.Object
  extended by 

java.util.EventObject
      extended by org.eclipse.swt.internal.SWTEventObject
          extended by 

org.eclipse.swt.events.TypedEvent
              extended by 
org.eclipse.swt.browser.WindowEvent
All Implemented Interfaces:
Serializable

public class WindowEvent
extends TypedEvent

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("https://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

  • User selects a link that opens in a new window or javascript requests a new window
  • OpenWindowListener.open() notified
    • Application creates a new Shell and a second Browser inside that Shell
    • Application registers WindowListener's on that second Browser, such as VisibilityWindowListener
    • Application returns the second Browser as the host for the new window content

Second Browser

  • VisibilityWindowListener.show() notified
    • Application sets navigation tool bar, status bar, menu bar and Shell size
    • Application makes the Shell hosting the second Browser visible
    • User now sees the new window

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

Field Summary
 boolean addressBar
          Specifies whether the Shell hosting the Browser should display an address bar.
  Browser browser
          Browser provided by the application.
  Point location
          Requested location for the Shell hosting the Browser.
 boolean menuBar
          Specifies whether the Shell hosting the Browser should display a menu bar.
 boolean required
          Specifies whether the platform requires the user to provide a Browser to handle the new window.
  Point size
          Requested Browser size.
 boolean statusBar
          Specifies whether the Shell hosting the Browser should display a status bar.
 boolean toolBar
          Specifies whether the Shell hosting the Browser should display a tool bar.
 
Fields inherited from class org.eclipse.swt.events. TypedEvent
data, display, time, widget
 
Fields inherited from class java.util. EventObject
source
 
Constructor Summary
WindowEvent ( Widget widget)
          Constructs a new instance of this class.
 
Method Summary
  String toString ()
          Returns a string containing a concise, human-readable description of the receiver.
 
Methods inherited from class java.util. EventObject
getSource
 
Methods inherited from class java.lang. Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

required

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

Since:
3.1

browser

public 
Browser browser
Browser provided by the application.


location

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


size

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.


addressBar

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

Since:
3.1

menuBar

public boolean menuBar
Specifies whether the Shell hosting the Browser should display a menu bar.

Since:
3.1

statusBar

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

Since:
3.1

toolBar

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

Since:
3.1
Constructor Detail

WindowEvent

public WindowEvent(
Widget widget)
Constructs a new instance of this class.

Parameters:
widget - the widget that fired the event
Since:
3.5
Method Detail

toString

public 
String toString()
Returns a string containing a concise, human-readable description of the receiver.

Overrides:
toString in class TypedEvent
Returns:
a string representation of the event

Eclipse Platform
Release 3.5

Guidelines for using Eclipse APIs.

Copyright (c) Eclipse contributors and others 2000, 2008. All rights reserved.


 
 
  Published under the terms of the Eclipse Public License Version 1.0 ("EPL") Design by Interspire