public class Window extends XulElement implements Framable, IdSpace
Unlike other elements, each Window
is an independent ID space
(by implementing IdSpace
).
It means a window and all its descendants forms a ID space and
the ID of each of them is unique in this space.
You could retrieve any of them in this space by calling AbstractComponent.getFellow(java.lang.String)
.
If a window X is a descendant of another window Y, X's descendants are not visible in Y's space. To retrieve a descendant, say Z, of X, you have to invoke Y.getFellow('X').getFellow('Z').
Events:
onMove, onOpen, onMaximize, onMinimize, and onClose.
Note: to have better performance, onOpen is sent only if a
non-deferrable event listener is registered
(see Deferrable
).
onMaximize
and onMinimize
are supported. (since 3.5.0)
onClose
is sent when the close button is pressed
(if isClosable()
is true). The window has to detach or hide
the window. By default, onClose()
detaches the window. To prevent
it from detached, you have to call Event.stopPropagation()
to prevent onClose()
is called.
On the other hand, onOpen
is sent when a popup
window (i.e., getMode()
is popup) is closed due to user's activity
(such as press ESC). This event is only a notification.
In other words, the popup is hidden before the event is sent to the server.
The application cannot prevent the window from being hidden.
Default getZclass()
: z-window.(since 3.5.0)
Modifier and Type | Class and Description |
---|---|
static class |
Window.Mode
The window's mode used with
setMode(Mode) . |
HtmlBasedComponent.ExtraCtrl
AbstractComponent.Children
Modifier and Type | Field and Description |
---|---|
static int |
EMBEDDED
Embeds the window as normal component.
|
static int |
HIGHLIGHTED
Makes the window as highlighted.
|
static int |
MODAL
Makes the window as a modal dialog. once
doModal()
is called, the execution of the event processing thread
is suspended until one of the following occurs. |
static int |
OVERLAPPED
Makes the window as overlapped other components.
|
static int |
POPUP
Makes the window as popup.
|
_zclass
APPLICATION_SCOPE, COMPONENT_SCOPE, DESKTOP_SCOPE, PAGE_SCOPE, REQUEST_SCOPE, SESSION_SCOPE, SPACE_SCOPE
AFTER_CHILD_ADDED, AFTER_CHILD_REMOVED, AFTER_PAGE_ATTACHED, AFTER_PAGE_DETACHED, CE_BUSY_IGNORE, CE_DUPLICATE_IGNORE, CE_IMPORTANT, CE_NON_DEFERRABLE, CE_REPEAT_IGNORE
Constructor and Description |
---|
Window() |
Window(java.lang.String title,
java.lang.String border,
boolean closable) |
Modifier and Type | Method and Description |
---|---|
void |
beforeChildAdded(Component child,
Component refChild)
Default: does nothing.
|
java.lang.Object |
clone()
Clones the component.
|
void |
doEmbedded()
Makes this window as embedded with other components (Default).
|
void |
doHighlighted()
Makes this window as highlighted.
|
void |
doModal()
Makes this window as a modal dialog.
|
void |
doOverlapped()
Makes this window as overlapped with other components.
|
void |
doPopup()
Makes this window as popup, which is overlapped with other component
and auto-hidden when user clicks outside of the window.
|
java.lang.String |
getBorder()
Returns the border.
|
Caption |
getCaption()
Returns the caption of this window.
|
java.lang.String |
getContentSclass()
Returns the style class used for the content block.
|
java.lang.String |
getContentStyle()
Returns the CSS style for the content block of the window.
|
static java.lang.String |
getDefaultActionOnShow()
Deprecated.
As release of 5.0.0, replaced with
HtmlBasedComponent.setAction(java.lang.String) . |
int |
getMinheight()
Returns the minimum height.
|
int |
getMinwidth()
Returns the minimum width.
|
java.lang.String |
getMode()
Returns the current mode.
|
Window.Mode |
getModeType()
Returns the current mode.
|
java.lang.String |
getPosition()
Returns how to position the window at the client screen.
|
java.lang.String |
getTitle()
Returns the title.
|
java.lang.String |
getZclass()
Returns the ZK Cascading Style class(es) for this component.
|
boolean |
inEmbedded()
Returns whether this is embedded with other components (Default).
|
boolean |
inHighlighted()
Returns whether this is a highlighted window.
|
boolean |
inModal()
Returns whether this is a modal dialog.
|
boolean |
inOverlapped()
Returns whether this is a overlapped window.
|
boolean |
inPopup()
Returns whether this is a popup window.
|
boolean |
insertBefore(Component child,
Component refChild)
Inserts a child before the reference child.
|
boolean |
isClosable()
Returns whether to show a close button on the title bar.
|
boolean |
isCollapsible()
Always return false.
|
boolean |
isMaximizable()
Returns whether to display the maximizing button and allow the user to maximize
the window.
|
boolean |
isMaximized()
Returns whether the window is maximized.
|
boolean |
isMinimizable()
Returns whether to display the minimizing button and allow the user to minimize
the window.
|
boolean |
isMinimized()
Returns whether the window is minimized.
|
boolean |
isShadow()
Returns whether to show the shadow of an overlapped/popup/modal
window.
|
boolean |
isSizable()
Returns whether the window is sizable.
|
void |
onChildRemoved(Component child)
Default: handles special event listeners.
|
void |
onClose()
Process the onClose event sent when the close button is pressed.
|
void |
onModal()
Process the onModal event by making itself a modal window.
|
void |
onPageDetached(Page page)
Default: handles special event listeners.
|
protected void |
renderProperties(ContentRenderer renderer)
Renders the content of this component, excluding the enclosing
tags and children.
|
void |
service(AuRequest request,
boolean everError)
Processes an AU request.
|
void |
setBorder(boolean border)
Enables or disables the border.
|
void |
setBorder(java.lang.String border)
Sets the border (either none or normal).
|
void |
setClosable(boolean closable)
Sets whether to show a close button on the title bar.
|
void |
setContentSclass(java.lang.String scls)
Sets the style class used for the content block.
|
void |
setContentStyle(java.lang.String style)
Sets the CSS style for the content block of the window.
|
static void |
setDefaultActionOnShow(java.lang.String onshow)
Deprecated.
As release of 5.0.0, replaced with
HtmlBasedComponent.setAction(java.lang.String) . |
void |
setDraggable(java.lang.String draggable)
Sets "true" or "false" to denote whether a component is draggable,
or an identifier of a draggable type of objects.
|
void |
setMaximizable(boolean maximizable)
Sets whether to display the maximizing button and allow the user to maximize
the window, when a window is maximized, the button will automatically
change to a restore button with the appropriate behavior already built-in
that will restore the window to its previous size.
|
void |
setMaximized(boolean maximized)
Sets whether the window is maximized, and then the size of the window will depend
on it to show a appropriate size.
|
void |
setMinheight(int minheight)
Sets the minimum height in pixels allowed for this window.
|
void |
setMinimizable(boolean minimizable)
Sets whether to display the minimizing button and allow the user to minimize
the window.
|
void |
setMinimized(boolean minimized)
Sets whether the window is minimized.
|
void |
setMinwidth(int minwidth)
Sets the minimum width in pixels allowed for this window.
|
void |
setMode(int mode)
Sets the mode to overlapped, popup, modal, embedded or highlighted.
|
void |
setMode(java.lang.String name)
Sets the mode to overlapped, popup, modal, embedded or highlighted.
|
void |
setMode(Window.Mode mode)
Sets the mode.
|
void |
setPosition(java.lang.String pos)
Sets how to position the window at the client screen.
|
void |
setShadow(boolean shadow)
Sets whether to show the shadow of an overlapped/popup/modal
window.
|
void |
setSizable(boolean sizable)
Sets whether the window is sizable.
|
void |
setTitle(java.lang.String title)
Sets the title.
|
void |
setTopmost()
Makes this window as topmost.
|
boolean |
setVisible(boolean visible)
Changes the visibility of the window.
|
getContext, getCtrlKeys, getPopup, getPropertyAccess, getTooltip, setContext, setContext, setContextAttributes, setCtrlKeys, setPopup, setPopup, setPopupAttributes, setTooltip, setTooltip, setTooltipAttributes
focus, getAction, getDraggable, getDroppable, getExtraCtrl, getHeight, getHflex, getLeft, getRenderdefer, getSclass, getStyle, getTabindex, getTabindexInteger, getTooltiptext, getTop, getVflex, getWidth, getZindex, getZIndex, setAction, setClass, setDroppable, setFocus, setHeight, setHeight0, setHeightDirectly, setHflex, setHflex0, setHflexDirectly, setLeft, setLeftDirectly, setRenderdefer, setSclass, setStyle, setTabindex, setTabindex, setTooltiptext, setTop, setTopDirectly, setVflex, setVflex0, setVflexDirectly, setWidth, setWidth0, setWidthDirectly, setZclass, setZindex, setZIndex, setZIndexDirectly
addAnnotation, addAnnotation, addCallback, addClientEvent, addEventHandler, addEventListener, addEventListener, addForward, addForward, addForward, addForward, addMoved, addRedrawCallback, addScopeListener, addShadowRoot, addShadowRootBefore, addSharedEventHandlerMap, appendChild, applyProperties, beforeChildRemoved, beforeParentChanged, detach, didActivate, didActivate, didDeserialize, didDeserialize, disableBindingAnnotation, disableClientUpdate, enableBindingAnnotation, equals, getAnnotatedProperties, getAnnotatedPropertiesBy, getAnnotation, getAnnotation, getAnnotations, getAnnotations, getAnnotations, getAttribute, getAttribute, getAttribute, getAttributeOrFellow, getAttributes, getAttributes, getAuService, getAutag, getCallback, getChildren, getClientAttribute, getClientDataAttribute, getClientEvents, getDefaultMold, getDefinition, getDesktop, getEventHandler, getEventHandlerNames, getEventListenerMap, getEventListeners, getFellow, getFellow, getFellowIfAny, getFellowIfAny, getFellows, getFirstChild, getId, getLastChild, getListenerIterator, getMold, getNextSibling, getPage, getParent, getPreviousSibling, getRedrawCallback, getRoot, getShadowFellowIfAny, getShadowRoots, getShadowVariable, getShadowVariable, getShadowVariable0, getSpaceOwner, getSpecialRendererOutput, getStubonly, getSubBindingAnnotationCount, getTemplate, getTemplateNames, getUuid, getWidgetAttribute, getWidgetAttributeNames, getWidgetClass, getWidgetListener, getWidgetListenerNames, getWidgetOverride, getWidgetOverrideNames, hasAttribute, hasAttribute, hasAttribute, hasAttributeOrFellow, hasBindingAnnotation, hasFellow, hasFellow, hasSubBindingAnnotation, invalidate, isChildable, isInvalidated, isListenerAvailable, isVisible, onChildAdded, onPageAttached, onWrongValue, query, queryAll, redraw, redrawChildren, removeAttribute, removeAttribute, removeAttribute, removeCallback, removeChild, removeEventListener, removeForward, removeForward, removeRedrawCallback, removeScopeListener, removeShadowRoot, render, render, render, replace, response, response, response, service, sessionDidActivate, sessionWillPassivate, setAttribute, setAttribute, setAttribute, setAuService, setAutag, setClientAttribute, setClientDataAttribute, setDefinition, setDefinition, setId, setMold, setPage, setPageBefore, setParent, setStubonly, setStubonly, setSubBindingAnnotationCount, setTemplate, setVisibleDirectly, setWidgetAttribute, setWidgetClass, setWidgetListener, setWidgetOverride, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdateWidgetListener, smartUpdateWidgetOverride, toString, updateByClient, updateSubBindingAnnotationCount, willPassivate, willPassivate, willSerialize, willSerialize
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getFellow, getFellow, getFellowIfAny, getFellowIfAny, getFellows, hasFellow, hasFellow
addScopeListener, getAttribute, getAttribute, getAttributes, hasAttribute, hasAttribute, removeAttribute, removeAttribute, removeScopeListener, setAttribute, setAttribute
public static final int EMBEDDED
public static final int MODAL
doModal()
is called, the execution of the event processing thread
is suspended until one of the following occurs.
setMode(org.zkoss.zul.Window.Mode)
is called with a mode other than MODAL.doOverlapped()
, doPopup()
,
doEmbedded()
, or doHighlighted()
is called.setVisible(boolean)
is called with false.Note: In the last two cases, the mode becomes OVERLAPPED
.
In other words, one might say a modal window is a special overlapped window.
HIGHLIGHTED
,
Constant Field Valuespublic static final int OVERLAPPED
public static final int POPUP
OVERLAPPED
, except it is auto hidden
when user clicks outside of the window.public static final int HIGHLIGHTED
MODAL
.
However, from the server side's viewpoint, it is similar to
OVERLAPPED
. The execution won't be suspended when
doHighlighted()
is called.MODAL
,
OVERLAPPED
,
Constant Field Valuespublic Window()
public Window(java.lang.String title, java.lang.String border, boolean closable)
title
- the window title (see setTitle(java.lang.String)
).border
- the border (see setBorder(java.lang.String)
).closable
- whether it is closable (see setClosable(boolean)
).public boolean isMaximized()
isMaximized
in interface Framable
public void setMaximized(boolean maximized)
inEmbedded()
) or its parent node. Otherwise, its size
will be original size. Note that the maximized effect will run at client's
sizing phase not initial phase.
Default: false.
UiException
- if isMaximizable()
is false.public boolean isMaximizable()
Default: false.
isMaximizable
in interface Framable
public void setMaximizable(boolean maximizable)
Default: false.
Note: the maximize button won't be displayed if no title or caption at all.
public boolean isMinimized()
Default: false.
public void setMinimized(boolean minimized)
Default: false.
UiException
- if isMinimizable()
is false.public boolean isMinimizable()
Default: false.
isMinimizable
in interface Framable
public void setMinimizable(boolean minimizable)
Default: false.
Note: the maximize button won't be displayed if no title or caption at all.
MinimizeEvent
public void setMinheight(int minheight)
Default: 100.
Note: Only applies when isSizable()
= true.
public int getMinheight()
Default: 100.
public void setMinwidth(int minwidth)
Default: 200.
Note: Only applies when isSizable()
= true.
public int getMinwidth()
Default: 200.
public static void setDefaultActionOnShow(java.lang.String onshow)
HtmlBasedComponent.setAction(java.lang.String)
.public static java.lang.String getDefaultActionOnShow()
HtmlBasedComponent.setAction(java.lang.String)
.public Caption getCaption()
public java.lang.String getBorder()
Default: "none".
public void setBorder(java.lang.String border)
border
- the border. If null, "0" or "false", "none" is assumed.
If "true", "normal" is assumed (since 5.0.8).public void setBorder(boolean border)
border
- whether to have a border. If true is specified,
it is the same as setBorder("normal")
.public java.lang.String getTitle()
Caption
to define
a more sophisticated caption (a.k.a., title).
If a window has a caption whose label (LabelElement.getLabel()
)
is not empty, then this attribute is ignored.
Default: empty.
public void setTitle(java.lang.String title)
public java.lang.String getMode()
getModeType()
public void setMode(Window.Mode mode)
public void setMode(java.lang.String name)
Notice: Events.ON_MODAL
is posted if you specify
"modal" to this method.
Unlike doModal()
, Events.ON_MODAL
is posted, so
the window will become modal later (since 3.0.4).
In other words, setMode("modal") never suspends the execution
of the current thread. On the other hand, doModal()
will
suspends the execution if executed in an event listener, or
throws an exception if not executed in an event listener.
Refer to Overlapped, Popup, Modal, Highlighted and Embedded for more information.
name
- the mode which could be one of
"embedded", "overlapped", "popup", "modal", "highlighted".
Note: it cannot be "modal". Use doModal()
instead.public void setMode(int mode)
setMode(String)
public Window.Mode getModeType()
getMode()
,
setMode(Mode)
public boolean inModal()
public boolean inEmbedded()
doEmbedded()
public boolean inOverlapped()
public boolean inPopup()
public boolean inHighlighted()
public void doModal()
HtmlBasedComponent.getLeft()
and
HtmlBasedComponent.getTop()
).
Notice: though both setMode("modal") and doModal() both
causes the window to become modal, they are a bit different.
doModal causes the event listener to suspend immediately,
while setMode("modal") posts an event (Events.ON_MODAL
).
That is, setMode(org.zkoss.zul.Window.Mode)
won't suspend the execution immediately,
but doModal()
will.
doModal()
can be called only in an event listener,
while setMode(org.zkoss.zul.Window.Mode)
can be called anytime.
public void doOverlapped()
public void doPopup()
public void doHighlighted()
public void doEmbedded()
public boolean isClosable()
isClosable
in interface Framable
public void setClosable(boolean closable)
Default: false.
You can intercept the default behavior by either overriding
onClose()
, or listening the onClose event.
Note: the close button won't be displayed if no title or caption at all.
public boolean isSizable()
public void setSizable(boolean sizable)
Default: false.
public boolean isShadow()
public void setShadow(boolean shadow)
Default: true.
public java.lang.String getPosition()
Default: null which depends on getMode()
:
If overlapped or popup, HtmlBasedComponent.setLeft(java.lang.String)
and HtmlBasedComponent.setTop(java.lang.String)
are
assumed. If modal or highlighted, it is centered.
public void setPosition(java.lang.String pos)
pos
- how to position. It can be null (the default), or
a combination of the following values (by separating with comma).
HtmlBasedComponent.setTop(java.lang.String)
and HtmlBasedComponent.setLeft(java.lang.String)
are both ignored.HtmlBasedComponent.setTop(java.lang.String)
and HtmlBasedComponent.setLeft(java.lang.String)
(since 5.0.4)HtmlBasedComponent.setLeft(java.lang.String)
is ignored.HtmlBasedComponent.setLeft(java.lang.String)
is ignored.HtmlBasedComponent.setTop(java.lang.String)
is ignored.HtmlBasedComponent.setTop(java.lang.String)
is ignored.HtmlBasedComponent.getTop()
and HtmlBasedComponent.getLeft()
)
is an offset to his parent's let-top corner. (since 3.0.2)For example, "left,center" means to position it at the center of the left edge.
public void onClose()
Default: detach itself.
public void onModal()
public java.lang.String getContentStyle()
public void setContentStyle(java.lang.String style)
Default: null.
public java.lang.String getContentSclass()
setContentSclass(java.lang.String)
public void setContentSclass(java.lang.String scls)
getContentSclass()
public void setTopmost()
protected void renderProperties(ContentRenderer renderer) throws java.io.IOException
HtmlBasedComponent
renderProperties
in class XulElement
java.io.IOException
public java.lang.String getZclass()
HtmlBasedComponent
AbstractComponent.getMold()
).
Default: null (the default value depends on element).
HtmlBasedComponent.setZclass(java.lang.String)
) will completely replace the default style
of a component. In other words, the default style of a component
is associated with the default value of HtmlBasedComponent.getZclass()
.
Once it is changed, the default style won't be applied at all.
If you want to perform small adjustments, use HtmlBasedComponent.setSclass(java.lang.String)
instead.
getZclass
in class HtmlBasedComponent
HtmlBasedComponent.getSclass()
public void beforeChildAdded(Component child, Component refChild)
AbstractComponent
beforeChildAdded
in interface ComponentCtrl
beforeChildAdded
in class AbstractComponent
child
- the child to be added (never null).refChild
- another child component that the new child
will be inserted before it. If null, the new child will be the
last child.ComponentCtrl.beforeChildAdded(org.zkoss.zk.ui.Component, org.zkoss.zk.ui.Component)
public boolean insertBefore(Component child, Component refChild)
Component
You could use Component.setParent(org.zkoss.zk.ui.Component)
or Component.appendChild(org.zkoss.zk.ui.Component)
instead of this method, unless
you want to control where to put the child.
Note: Component.setParent(org.zkoss.zk.ui.Component)
always calls back Component.insertBefore(org.zkoss.zk.ui.Component, org.zkoss.zk.ui.Component)
and/or Component.removeChild(org.zkoss.zk.ui.Component)
,
while Component.insertBefore(org.zkoss.zk.ui.Component, org.zkoss.zk.ui.Component)
and Component.removeChild(org.zkoss.zk.ui.Component)
always calls back Component.setParent(org.zkoss.zk.ui.Component)
,
if the parent is changed. Thus, you don't need to override
both Component.insertBefore(org.zkoss.zk.ui.Component, org.zkoss.zk.ui.Component)
and Component.setParent(org.zkoss.zk.ui.Component)
, if you want
to customize the behavior.
If you would like to monitor if a component is attached or detached
from a page, you could register a desktop listener implementing
UiLifeCycle
.
insertBefore
in interface Component
insertBefore
in class AbstractComponent
child
- the new child to be inserted.refChild
- the child before which you want the new child
being inserted. If null, the new child is append to the end.public void onChildRemoved(Component child)
AbstractComponent
onChildRemoved
in interface ComponentCtrl
onChildRemoved
in class AbstractComponent
ComponentCtrl.onChildRemoved(org.zkoss.zk.ui.Component)
public void onPageDetached(Page page)
AbstractComponent
onPageDetached
in interface ComponentCtrl
onPageDetached
in class AbstractComponent
page
- the previous page (never null)ComponentCtrl.onPageDetached(org.zkoss.zk.ui.Page)
public boolean setVisible(boolean visible)
Note if you turned on the event thread:
If a modal dialog becomes invisible, the modal state
will be ended automatically. In other words, the mode (getMode()
)
will become OVERLAPPED
and the suspending thread is resumed.
In other words, the modal window (MODAL
) can not be invisible
(while a window in other modes could be invisible).
However, if the event thread is not enabled (default), there is no such limitation. In other words, it remains the same mode when becoming invisible.
setVisible
in interface Component
setVisible
in class AbstractComponent
public void setDraggable(java.lang.String draggable)
HtmlBasedComponent
The simplest way to make a component draggable is to set this attribute to true. To disable it, set this to false.
If there are several types of draggable objects, you could assign an identifier for each type of draggable object. The identifier could be anything but empty.
setDraggable
in class HtmlBasedComponent
draggable
- "false", "" or null to denote non-draggable; "true" for draggable
with anonymous identifier; others for an identifier of draggable.DragControl
and draggable is null,
then it means draggable.public java.lang.Object clone()
Component
clone
in interface Component
clone
in class XulElement
public void service(AuRequest request, boolean everError)
Default: in addition to what are handled by HtmlBasedComponent.service(org.zkoss.zk.au.AuRequest, boolean)
,
it also handles onOpen.
service
in interface ComponentCtrl
service
in class HtmlBasedComponent
everError
- whether any error ever occurred before
processing this request.AbstractComponent.setAuService(org.zkoss.zk.au.AuService)
public boolean isCollapsible()
isCollapsible
in interface Framable
Copyright © 2005-2018 Potix Corporation. All Rights Reserved.