com.vaadin.ui
Class Window

java.lang.Object
  extended by com.vaadin.server.AbstractClientConnector
      extended by com.vaadin.ui.AbstractComponent
          extended by com.vaadin.ui.AbstractSingleComponentContainer
              extended by com.vaadin.ui.Panel
                  extended by com.vaadin.ui.Window
All Implemented Interfaces:
Action.Container, Action.Notifier, ConnectorEventListener, FieldEvents.BlurNotifier, FieldEvents.FocusNotifier, MethodEventSource, ClientConnector, Scrollable, Sizeable, VariableOwner, com.vaadin.shared.Connector, Component, Component.Focusable, HasComponents, HasComponents.ComponentAttachDetachNotifier, LegacyComponent, SingleComponentContainer, java.io.Serializable, java.lang.Iterable<Component>, java.util.EventListener
Direct Known Subclasses:
ColorPickerPopup

public class Window
extends Panel
implements FieldEvents.FocusNotifier, FieldEvents.BlurNotifier, LegacyComponent

A component that represents a floating popup window that can be added to a UI. A window is added to a UI using UI.addWindow(Window).

The contents of a window is set using AbstractSingleComponentContainer.setContent(Component) or by using the Window(String, Component) constructor.

A window can be positioned on the screen using absolute coordinates (pixels) or set to be centered using center()

The caption is displayed in the window header.

In Vaadin versions prior to 7.0.0, Window was also used as application level windows. This function is now covered by the UI class.

Since:
3.0
Author:
Vaadin Ltd.
See Also:
Serialized Form

Nested Class Summary
static class Window.CloseEvent
           
static interface Window.CloseListener
          An interface used for listening to Window close events.
static class Window.CloseShortcut
          A ShortcutListener specifically made to define a keyboard shortcut that closes the window.
static class Window.ResizeEvent
          Resize events are fired whenever the client-side fires a resize-event (e.g.
static interface Window.ResizeListener
          Listener for window resize events.
 
Nested classes/interfaces inherited from interface com.vaadin.ui.Component
Component.ErrorEvent, Component.Event, Component.Focusable, Component.Listener
 
Nested classes/interfaces inherited from interface com.vaadin.server.ClientConnector
ClientConnector.AttachEvent, ClientConnector.AttachListener, ClientConnector.ConnectorErrorEvent, ClientConnector.DetachEvent, ClientConnector.DetachListener
 
Nested classes/interfaces inherited from interface com.vaadin.server.Sizeable
Sizeable.Unit
 
Nested classes/interfaces inherited from interface com.vaadin.ui.HasComponents
HasComponents.ComponentAttachDetachNotifier, HasComponents.ComponentAttachEvent, HasComponents.ComponentAttachListener, HasComponents.ComponentDetachEvent, HasComponents.ComponentDetachListener
 
Field Summary
protected  Window.CloseShortcut closeShortcut
           
 
Fields inherited from class com.vaadin.ui.Panel
actionManager
 
Fields inherited from interface com.vaadin.server.Sizeable
SIZE_UNDEFINED, UNITS_CM, UNITS_EM, UNITS_EX, UNITS_INCH, UNITS_MM, UNITS_PERCENTAGE, UNITS_PICAS, UNITS_PIXELS, UNITS_POINTS
 
Constructor Summary
Window()
          Creates a new, empty sub window
Window(java.lang.String caption)
          Creates a new, empty sub window with a given title.
Window(java.lang.String caption, Component content)
          Creates a new, empty sub window with the given content and title.
 
Method Summary
 void addBlurListener(FieldEvents.BlurListener listener)
          Note, that focus/blur listeners in Window class are only supported by sub windows.
 void addCloseListener(Window.CloseListener listener)
          Adds a CloseListener to the window.
 void addFocusListener(FieldEvents.FocusListener listener)
          Note, that focus/blur listeners in Window class are only supported by sub windows.
 void addListener(FieldEvents.BlurListener listener)
          Deprecated. As of 7.0, replaced by #addBlurListener(BlurListener)
 void addListener(FieldEvents.FocusListener listener)
          Deprecated. As of 7.0, replaced by #addFocusListener(FocusListener)
 void addListener(Window.CloseListener listener)
          Deprecated. As of 7.0, replaced by addCloseListener(CloseListener)
 void addListener(Window.ResizeListener listener)
          Deprecated. As of 7.0, replaced by addResizeListener(ResizeListener)
 void addResizeListener(Window.ResizeListener listener)
          Add a resize listener.
 void bringToFront()
          If there are currently several windows visible, calling this method makes this window topmost.
 void center()
          Sets this window to be centered relative to its parent window.
 void changeVariables(java.lang.Object source, java.util.Map<java.lang.String,java.lang.Object> variables)
          Called when one or more variables handled by the implementing class are changed.
 void close()
          Method that handles window closing (from UI).
protected  void fireClose()
           
protected  void fireResize()
          Fire the resize event.
 void focus()
          Moves keyboard focus to the component.
 int getPositionX()
          Gets the distance of Window left border in pixels from left border of the containing (main window).
 int getPositionY()
          Gets the distance of Window top border in pixels from top border of the containing (main window).
protected  com.vaadin.shared.ui.window.WindowState getState()
          Returns the shared state bean with information to be sent from the server to the client.
 boolean isClosable()
          Returns the closable status of the sub window.
 boolean isDraggable()
          Indicates whether a sub window can be dragged or not.
 boolean isModal()
           
 boolean isResizable()
           
 boolean isResizeLazy()
           
 void paintContent(PaintTarget target)
           Paints the Paintable into a UIDL stream.
 void removeBlurListener(FieldEvents.BlurListener listener)
          Removes a BlurListener from the Component.
 void removeCloseListener(Window.CloseListener listener)
          Removes the CloseListener from the window.
 void removeCloseShortcut()
          Removes the keyboard shortcut previously set with setCloseShortcut(int, int...).
 void removeFocusListener(FieldEvents.FocusListener listener)
          Removes a FocusListener from the Component.
 void removeListener(FieldEvents.BlurListener listener)
          Deprecated. As of 7.0, replaced by #removeBlurListener(BlurListener)
 void removeListener(FieldEvents.FocusListener listener)
          Deprecated. As of 7.0, replaced by #removeFocusListener(FocusListener)
 void removeListener(Window.CloseListener listener)
          Deprecated. As of 7.0, replaced by removeCloseListener(CloseListener)
 void removeListener(Window.ResizeListener listener)
          Deprecated. As of 7.0, replaced by removeResizeListener(ResizeListener)
 void removeResizeListener(Window.ResizeListener listener)
          Remove a resize listener.
 void setClosable(boolean closable)
          Sets the closable status for the sub window.
 void setCloseShortcut(int keyCode, int... modifiers)
          Makes is possible to close the window by pressing the given ShortcutAction.KeyCode and (optional) ShortcutAction.ModifierKeys.
Note that this shortcut only reacts while the window has focus, closing itself - if you want to close a subwindow from a parent window, use Panel.addAction(com.vaadin.event.Action) of the parent window instead.
 void setDraggable(boolean draggable)
          Enables or disables that a sub window can be dragged (moved) by the user.
 void setModal(boolean modal)
          Sets sub-window modal, so that widgets behind it cannot be accessed.
 void setParent(ClientConnector parent)
          Sets the parent connector of the connector.
 void setPositionX(int positionX)
          Sets the distance of Window left border in pixels from left border of the containing (main window).
 void setPositionY(int positionY)
          Sets the distance of Window top border in pixels from top border of the containing (main window).
 void setResizable(boolean resizable)
          Sets sub-window resizable.
 void setResizeLazy(boolean resizeLazy)
          Should resize operations be lazy, i.e.
 
Methods inherited from class com.vaadin.ui.Panel
addAction, addActionHandler, addClickListener, addListener, getActionManager, getScrollLeft, getScrollTop, getTabIndex, removeAction, removeActionHandler, removeAllActionHandlers, removeClickListener, removeListener, setCaption, setScrollLeft, setScrollTop, setTabIndex
 
Methods inherited from class com.vaadin.ui.AbstractSingleComponentContainer
addComponentAttachListener, addComponentDetachListener, fireComponentAttachEvent, fireComponentDetachEvent, getComponentCount, getContent, iterator, removeComponentAttachListener, removeComponentDetachListener, removeFromParent, setContent, setHeight, setWidth
 
Methods inherited from class com.vaadin.ui.AbstractComponent
addListener, addShortcutListener, addStyleName, attach, beforeClientResponse, detach, findAncestor, fireComponentErrorEvent, fireComponentEvent, getCaption, getComponentError, getData, getDebugId, getDescription, getErrorMessage, getHeight, getHeightUnits, getIcon, getId, getLocale, getParent, getPrimaryStyleName, getState, getStyleName, getWidth, getWidthUnits, isConnectorEnabled, isEnabled, isImmediate, isReadOnly, isVisible, removeListener, removeShortcutListener, removeStyleName, setComponentError, setData, setDebugId, setDescription, setEnabled, setHeight, setIcon, setId, setImmediate, setLocale, setPrimaryStyleName, setReadOnly, setSizeFull, setSizeUndefined, setStyleName, setVisible, setWidth
 
Methods inherited from class com.vaadin.server.AbstractClientConnector
addAttachListener, addDetachListener, addExtension, addListener, addListener, addListener, addMethodInvocationToQueue, createState, encodeState, fireEvent, getAllChildrenIterable, getConnectorId, getErrorHandler, getExtensions, getListeners, getResource, getRpcManager, getRpcProxy, getSession, getStateType, getUI, handleConnectorRequest, hasListeners, markAsDirty, markAsDirtyRecursive, registerRpc, registerRpc, removeAttachListener, removeDetachListener, removeExtension, removeListener, removeListener, removeListener, removeListener, requestRepaint, requestRepaintAll, retrievePendingRpcCalls, setErrorHandler, setResource
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.vaadin.ui.LegacyComponent
markAsDirty
 
Methods inherited from interface com.vaadin.server.VariableOwner
isEnabled, isImmediate
 
Methods inherited from interface com.vaadin.ui.Component
addListener, addStyleName, attach, getCaption, getDescription, getIcon, getId, getLocale, getParent, getPrimaryStyleName, getStyleName, getUI, isEnabled, isReadOnly, isVisible, removeListener, removeStyleName, setCaption, setEnabled, setIcon, setId, setPrimaryStyleName, setReadOnly, setStyleName, setVisible
 
Methods inherited from interface com.vaadin.server.ClientConnector
addAttachListener, addDetachListener, beforeClientResponse, detach, encodeState, getErrorHandler, getExtensions, getRpcManager, getStateType, handleConnectorRequest, isConnectorEnabled, markAsDirtyRecursive, removeAttachListener, removeDetachListener, removeExtension, requestRepaint, requestRepaintAll, retrievePendingRpcCalls, setErrorHandler
 
Methods inherited from interface com.vaadin.shared.Connector
getConnectorId
 
Methods inherited from interface com.vaadin.server.Sizeable
getHeight, getHeightUnits, getWidth, getWidthUnits, setHeight, setHeight, setSizeFull, setSizeUndefined, setWidth, setWidth
 

Field Detail

closeShortcut

protected Window.CloseShortcut closeShortcut
Constructor Detail

Window

public Window()
Creates a new, empty sub window


Window

public Window(java.lang.String caption)
Creates a new, empty sub window with a given title.

Parameters:
caption - the title of the window.

Window

public Window(java.lang.String caption,
              Component content)
Creates a new, empty sub window with the given content and title.

Parameters:
caption - the title of the window.
content - the contents of the window
Method Detail

paintContent

public void paintContent(PaintTarget target)
                  throws PaintException
Description copied from interface: LegacyComponent

Paints the Paintable into a UIDL stream. This method creates the UIDL sequence describing it and outputs it to the given UIDL stream.

It is called when the contents of the component should be painted in response to the component first being shown or having been altered so that its visual representation is changed.

Specified by:
paintContent in interface LegacyComponent
Overrides:
paintContent in class Panel
Parameters:
target - the target UIDL stream where the component should paint itself to.
Throws:
PaintException - if the paint operation failed.

setParent

public void setParent(ClientConnector parent)
Description copied from interface: ClientConnector
Sets the parent connector of the connector.

This method automatically calls ClientConnector.attach() if the connector becomes attached to the application, regardless of whether it was attached previously. Conversely, if the parent is null and the connector is attached to the application, ClientConnector.detach() is called for the connector.

This method is rarely called directly. One of the ComponentContainer.addComponent(Component) or AbstractClientConnector.addExtension(Extension) methods are normally used for adding connectors to a parent and they will call this method implicitly.

It is not possible to change the parent without first setting the parent to null.

Specified by:
setParent in interface ClientConnector
Overrides:
setParent in class AbstractComponent
Parameters:
parent - the parent connector

changeVariables

public void changeVariables(java.lang.Object source,
                            java.util.Map<java.lang.String,java.lang.Object> variables)
Description copied from class: Panel
Called when one or more variables handled by the implementing class are changed.

Specified by:
changeVariables in interface VariableOwner
Overrides:
changeVariables in class Panel
Parameters:
source - the Source of the variable change. This is the origin of the event. For example in Web Adapter this is the request.
variables - the Mapping from variable names to new variable values.
See Also:
VariableOwner.changeVariables(Object, Map)

close

public void close()
Method that handles window closing (from UI).

By default, sub-windows are removed from their respective parent windows and thus visually closed on browser-side. Browser-level windows also closed on the client-side, but they are not implicitly removed from the application.

To explicitly close a sub-window, use #removeWindow(Window). To react to a window being closed (after it is closed), register a Window.CloseListener.


getPositionX

public int getPositionX()
Gets the distance of Window left border in pixels from left border of the containing (main window).

Returns:
the Distance of Window left border in pixels from left border of the containing (main window). or -1 if unspecified.
Since:
4.0.0

setPositionX

public void setPositionX(int positionX)
Sets the distance of Window left border in pixels from left border of the containing (main window).

Parameters:
positionX - the Distance of Window left border in pixels from left border of the containing (main window). or -1 if unspecified.
Since:
4.0.0

getPositionY

public int getPositionY()
Gets the distance of Window top border in pixels from top border of the containing (main window).

Returns:
Distance of Window top border in pixels from top border of the containing (main window). or -1 if unspecified .
Since:
4.0.0

setPositionY

public void setPositionY(int positionY)
Sets the distance of Window top border in pixels from top border of the containing (main window).

Parameters:
positionY - the Distance of Window top border in pixels from top border of the containing (main window). or -1 if unspecified
Since:
4.0.0

addCloseListener

public void addCloseListener(Window.CloseListener listener)
Adds a CloseListener to the window. For a sub window the CloseListener is fired when the user closes it (clicks on the close button). For a browser level window the CloseListener is fired when the browser level window is closed. Note that closing a browser level window does not mean it will be destroyed. Also note that Opera does not send events like all other browsers and therefore the close listener might not be called if Opera is used.

Since Vaadin 6.5, removing windows using #removeWindow(Window) does fire the CloseListener.

Parameters:
listener - the CloseListener to add.

addListener

@Deprecated
public void addListener(Window.CloseListener listener)
Deprecated. As of 7.0, replaced by addCloseListener(CloseListener)


removeCloseListener

public void removeCloseListener(Window.CloseListener listener)
Removes the CloseListener from the window.

For more information on CloseListeners see Window.CloseListener.

Parameters:
listener - the CloseListener to remove.

removeListener

@Deprecated
public void removeListener(Window.CloseListener listener)
Deprecated. As of 7.0, replaced by removeCloseListener(CloseListener)


fireClose

protected void fireClose()

addResizeListener

public void addResizeListener(Window.ResizeListener listener)
Add a resize listener.

Parameters:
listener -

addListener

@Deprecated
public void addListener(Window.ResizeListener listener)
Deprecated. As of 7.0, replaced by addResizeListener(ResizeListener)


removeResizeListener

public void removeResizeListener(Window.ResizeListener listener)
Remove a resize listener.

Parameters:
listener -

removeListener

@Deprecated
public void removeListener(Window.ResizeListener listener)
Deprecated. As of 7.0, replaced by removeResizeListener(ResizeListener)


fireResize

protected void fireResize()
Fire the resize event.


bringToFront

public void bringToFront()
If there are currently several windows visible, calling this method makes this window topmost.

This method can only be called if this window connected a UI. Else an illegal state exception is thrown. Also if there are modal windows and this window is not modal, and illegal state exception is thrown.


setModal

public void setModal(boolean modal)
Sets sub-window modal, so that widgets behind it cannot be accessed. Note: affects sub-windows only.

Parameters:
modal - true if modality is to be turned on

isModal

public boolean isModal()
Returns:
true if this window is modal.

setResizable

public void setResizable(boolean resizable)
Sets sub-window resizable. Note: affects sub-windows only.

Parameters:
resizable - true if resizability is to be turned on

isResizable

public boolean isResizable()
Returns:
true if window is resizable by the end-user, otherwise false.

isResizeLazy

public boolean isResizeLazy()
Returns:
true if a delay is used before recalculating sizes, false if sizes are recalculated immediately.

setResizeLazy

public void setResizeLazy(boolean resizeLazy)
Should resize operations be lazy, i.e. should there be a delay before layout sizes are recalculated. Speeds up resize operations in slow UIs with the penalty of slightly decreased usability. Note, some browser send false resize events for the browser window and are therefore always lazy.

Parameters:
resizeLazy - true to use a delay before recalculating sizes, false to calculate immediately.

center

public void center()
Sets this window to be centered relative to its parent window. Affects sub-windows only. If the window is resized as a result of the size of its content changing, it will keep itself centered as long as its position is not explicitly changed programmatically or by the user.

NOTE: This method has several issues as currently implemented. Please refer to http://dev.vaadin.com/ticket/8971 for details.


isClosable

public boolean isClosable()
Returns the closable status of the sub window. If a sub window is closable it typically shows an X in the upper right corner. Clicking on the X sends a close event to the server. Setting closable to false will remove the X from the sub window and prevent the user from closing the window. Note! For historical reasons readonly controls the closability of the sub window and therefore readonly and closable affect each other. Setting readonly to true will set closable to false and vice versa.

Closable only applies to sub windows, not to browser level windows.

Returns:
true if the sub window can be closed by the user.

setClosable

public void setClosable(boolean closable)
Sets the closable status for the sub window. If a sub window is closable it typically shows an X in the upper right corner. Clicking on the X sends a close event to the server. Setting closable to false will remove the X from the sub window and prevent the user from closing the window. Note! For historical reasons readonly controls the closability of the sub window and therefore readonly and closable affect each other. Setting readonly to true will set closable to false and vice versa.

Closable only applies to sub windows, not to browser level windows.

Parameters:
closable - determines if the sub window can be closed by the user.

isDraggable

public boolean isDraggable()
Indicates whether a sub window can be dragged or not. By default a sub window is draggable.

Draggable only applies to sub windows, not to browser level windows.

Parameters:
draggable - true if the sub window can be dragged by the user

setDraggable

public void setDraggable(boolean draggable)
Enables or disables that a sub window can be dragged (moved) by the user. By default a sub window is draggable.

Draggable only applies to sub windows, not to browser level windows.

Parameters:
draggable - true if the sub window can be dragged by the user

setCloseShortcut

public void setCloseShortcut(int keyCode,
                             int... modifiers)
Makes is possible to close the window by pressing the given ShortcutAction.KeyCode and (optional) ShortcutAction.ModifierKeys.
Note that this shortcut only reacts while the window has focus, closing itself - if you want to close a subwindow from a parent window, use Panel.addAction(com.vaadin.event.Action) of the parent window instead.

Parameters:
keyCode - the keycode for invoking the shortcut
modifiers - the (optional) modifiers for invoking the shortcut, null for none

removeCloseShortcut

public void removeCloseShortcut()
Removes the keyboard shortcut previously set with setCloseShortcut(int, int...).


addFocusListener

public void addFocusListener(FieldEvents.FocusListener listener)
Note, that focus/blur listeners in Window class are only supported by sub windows. Also note that Window is not considered focused if its contained component currently has focus.

Specified by:
addFocusListener in interface FieldEvents.FocusNotifier
See Also:
FieldEvents.FocusNotifier.addListener(com.vaadin.event.FieldEvents.FocusListener)

addListener

@Deprecated
public void addListener(FieldEvents.FocusListener listener)
Deprecated. As of 7.0, replaced by #addFocusListener(FocusListener)

Specified by:
addListener in interface FieldEvents.FocusNotifier

removeFocusListener

public void removeFocusListener(FieldEvents.FocusListener listener)
Description copied from interface: FieldEvents.FocusNotifier
Removes a FocusListener from the Component.

Specified by:
removeFocusListener in interface FieldEvents.FocusNotifier
See Also:
FieldEvents.FocusListener

removeListener

@Deprecated
public void removeListener(FieldEvents.FocusListener listener)
Deprecated. As of 7.0, replaced by #removeFocusListener(FocusListener)

Specified by:
removeListener in interface FieldEvents.FocusNotifier

addBlurListener

public void addBlurListener(FieldEvents.BlurListener listener)
Note, that focus/blur listeners in Window class are only supported by sub windows. Also note that Window is not considered focused if its contained component currently has focus.

Specified by:
addBlurListener in interface FieldEvents.BlurNotifier
See Also:
FieldEvents.BlurNotifier.addListener(com.vaadin.event.FieldEvents.BlurListener)

addListener

@Deprecated
public void addListener(FieldEvents.BlurListener listener)
Deprecated. As of 7.0, replaced by #addBlurListener(BlurListener)

Specified by:
addListener in interface FieldEvents.BlurNotifier

removeBlurListener

public void removeBlurListener(FieldEvents.BlurListener listener)
Description copied from interface: FieldEvents.BlurNotifier
Removes a BlurListener from the Component.

Specified by:
removeBlurListener in interface FieldEvents.BlurNotifier
See Also:
FieldEvents.BlurListener

removeListener

@Deprecated
public void removeListener(FieldEvents.BlurListener listener)
Deprecated. As of 7.0, replaced by #removeBlurListener(BlurListener)

Specified by:
removeListener in interface FieldEvents.BlurNotifier

focus

public void focus()
Moves keyboard focus to the component. Component.Focusable.focus() If the window is a sub-window focusing will cause the sub-window to be brought on top of other sub-windows on gain keyboard focus.

Specified by:
focus in interface Component.Focusable
Overrides:
focus in class Panel
See Also:
FieldEvents, FieldEvents.FocusEvent, FieldEvents.FocusListener, FieldEvents.BlurEvent, FieldEvents.BlurListener

getState

protected com.vaadin.shared.ui.window.WindowState getState()
Description copied from class: AbstractComponent
Returns the shared state bean with information to be sent from the server to the client. Subclasses should override this method and set any relevant fields of the state returned by super.getState().

Overrides:
getState in class Panel
Returns:
updated component shared state


Copyright © 2000-2011 Vaadin Ltd. All Rights Reserved.