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, 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.
static class Window.WindowModeChangeEvent
          Event which is fired when the mode of the Window changes.
static interface Window.WindowModeChangeListener
          An interface used for listening to Window maximize / restore 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 window
Window(java.lang.String caption)
          Creates a new, empty window with a given title.
Window(java.lang.String caption, Component content)
          Creates a new, empty window with the given content and title.
 
Method Summary
 void addBlurListener(FieldEvents.BlurListener listener)
          Adds a BlurListener to the Component which gets fired when a Field loses keyboard focus.
 void addCloseListener(Window.CloseListener listener)
          Adds a CloseListener to the window.
 void addFocusListener(FieldEvents.FocusListener listener)
          Adds a FocusListener to the Component which gets fired when a Field receives keyboard focus.
 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 addWindowModeChangeListener(Window.WindowModeChangeListener listener)
          Adds a WindowModeChangeListener to the window.
 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.
protected  void fireWindowWindowModeChange()
           
 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) when the window is in WindowMode.NORMAL.
 int getPositionY()
          Gets the distance of Window top border in pixels from top border of the containing (main window) when the window is in WindowMode.NORMAL state, or when next set to that state.
protected  WindowState getState()
          Returns the shared state bean with information to be sent from the server to the client.
protected  WindowState getState(boolean markAsDirty)
          Returns the shared state for this connector.
 WindowMode getWindowMode()
          Gets the current mode of the window.
 boolean isClosable()
          Returns the closable status of the window.
 boolean isDraggable()
          Indicates whether a 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 removeWindowModeChangeListener(Window.WindowModeChangeListener listener)
          Removes the WindowModeChangeListener from the window.
 void setClosable(boolean closable)
          Sets the closable status for the 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 window from a UI, use UI.addAction(com.vaadin.event.Action) of the UI instead.
 void setDraggable(boolean draggable)
          Enables or disables that a window can be dragged (moved) by the user.
 void setModal(boolean modal)
          Sets window modality.
 void setParent(HasComponents parent)
          Sets the parent connector of the component.
 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 window resizable.
 void setResizeLazy(boolean resizeLazy)
          Should resize operations be lazy, i.e.
 void setWindowMode(WindowMode windowMode)
          Sets the mode for the window
 
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, 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, isAttached, markAsDirty, markAsDirtyRecursive, registerRpc, registerRpc, removeAttachListener, removeDetachListener, removeExtension, removeListener, removeListener, removeListener, removeListener, requestRepaint, requestRepaintAll, retrievePendingRpcCalls, setErrorHandler, setResource
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, toString
 
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, isAttached, 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 window


Window

public Window(java.lang.String caption)
Creates a new, empty 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 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(HasComponents parent)
Description copied from interface: Component
Sets the parent connector of the component.

This method automatically calls Component.attach() if the component becomes attached to the session, regardless of whether it was attached previously. Conversely, if the component currently is attached to the session, ClientConnector.detach() is called for the connector before attaching it to a new parent.

This method is rarely called directly. ComponentContainer.addComponent(Component) or a HasComponents specific method is normally used for adding components to a parent and the used method will call this method implicitly.

Specified by:
setParent in interface Component
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, windows are removed from their respective UIs and thus visually closed on browser-side.

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) when the window is in WindowMode.NORMAL.

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). Has effect only if in WindowMode.NORMAL mode.

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) when the window is in WindowMode.NORMAL state, or when next set to that state.

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). Has effect only if in WindowMode.NORMAL mode.

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

addWindowModeChangeListener

public void addWindowModeChangeListener(Window.WindowModeChangeListener listener)
Adds a WindowModeChangeListener to the window. The WindowModeChangeEvent is fired when the user changed the display state by clicking the maximize/restore button or by double clicking on the window header. The event is also fired if the state is changed using setWindowMode(WindowMode).

Parameters:
listener - the WindowModeChangeListener to add.

removeWindowModeChangeListener

public void removeWindowModeChangeListener(Window.WindowModeChangeListener listener)
Removes the WindowModeChangeListener from the window.

Parameters:
listener - the WindowModeChangeListener to remove.

fireWindowWindowModeChange

protected void fireWindowWindowModeChange()

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 window modality. When a modal window is open, components outside that window it cannot be accessed.

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 window resizable.

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 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 window. If a 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 window and prevent the user from closing the window. Note! For historical reasons readonly controls the closability of the window and therefore readonly and closable affect each other. Setting readonly to true will set closable to false and vice versa.

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

setClosable

public void setClosable(boolean closable)
Sets the closable status for the window. If a 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 window and prevent the user from closing the window. Note! For historical reasons readonly controls the closability of the window and therefore readonly and closable affect each other. Setting readonly to true will set closable to false and vice versa.

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

isDraggable

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

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

setDraggable

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

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

getWindowMode

public WindowMode getWindowMode()
Gets the current mode of the window.

Returns:
the mode of the window.
See Also:
WindowMode

setWindowMode

public void setWindowMode(WindowMode windowMode)
Sets the mode for the window

Parameters:
windowMode - The new mode
See Also:
WindowMode

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 window from a UI, use UI.addAction(com.vaadin.event.Action) of the UI 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)
Description copied from interface: FieldEvents.FocusNotifier
Adds a FocusListener to the Component which gets fired when a Field receives keyboard focus.

Specified by:
addFocusListener in interface FieldEvents.FocusNotifier
See Also:
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)
Description copied from interface: FieldEvents.BlurNotifier
Adds a BlurListener to the Component which gets fired when a Field loses keyboard focus.

Specified by:
addBlurListener in interface FieldEvents.BlurNotifier
See Also:
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() Cause the window to be brought on top of other windows and 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 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

getState

protected WindowState getState(boolean markAsDirty)
Description copied from class: AbstractClientConnector
Returns the shared state for this connector.

Overrides:
getState in class AbstractComponent
Parameters:
markAsDirty - true if the connector should automatically be marked dirty, false otherwise
Returns:
The shared state for this connector. Never null.
See Also:
AbstractClientConnector.getState()


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