public class Button extends LabelImageElement implements Disable, Uploadable
Default getZclass()
: z-button.(since 3.5.0)
LabelImageElement.ExtraCtrl
AbstractComponent.Children
Uploadable.Error
_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 |
---|
Button() |
Button(java.lang.String label) |
Button(java.lang.String label,
java.lang.String image) |
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
clone()
Clones the component.
|
java.lang.String |
getAutodisable()
Returns a list of component IDs that shall be disabled when the user
clicks this button.
|
java.lang.String |
getDir()
Returns the direction.
|
java.lang.String |
getHref()
Returns the href that the browser shall jump to, if an user clicks
this button.
|
java.lang.String |
getOrient()
Returns the orient.
|
java.lang.String |
getTarget()
Returns the target frame or window.
|
java.lang.String |
getType()
Returns the button type.
|
java.lang.String |
getUpload()
Returns non-null if this component is used for file upload, or null otherwise.
|
java.lang.String |
getZclass()
Returns the ZK Cascading Style class(es) for this component.
|
protected boolean |
isChildable()
No child is allowed.
|
boolean |
isDisabled()
Returns whether it is disabled.
|
protected void |
renderCrawlable(java.lang.String label)
Renders the crawlable information.
|
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 |
setAutodisable(java.lang.String autodisable)
Sets a list of component IDs that shall be disabled when the user
clicks this button.
|
void |
setDir(java.lang.String dir)
Sets the direction to layout image.
|
void |
setDisabled(boolean disabled)
Sets whether it is disabled.
|
void |
setHref(java.lang.String href)
Sets the href.
|
void |
setOrient(java.lang.String orient)
Sets the orient to layout image.
|
void |
setTarget(java.lang.String target)
Sets the target frame or window.
|
void |
setType(java.lang.String type)
Sets the button type.
|
void |
setUpload(java.lang.String upload)
Sets the JavaScript class at the client to handle the upload if this
component is used for file upload.
|
protected void |
updateByClient(java.lang.String name,
java.lang.Object value)
Called when the widget running at the client asks the server
to update a value.
|
getExtraCtrl, getHoverImage, getHoverImageContent, getIconSclass, getImage, getImageContent, getPropertyAccess, getSrc, isImageAssigned, setHoverImage, setHoverImageContent, setHoverImageContent, setIconSclass, setImage, setImageContent, setImageContent, setSrc
getLabel, setLabel
getContext, getCtrlKeys, getPopup, getTooltip, setContext, setContext, setContextAttributes, setCtrlKeys, setPopup, setPopup, setPopupAttributes, setTooltip, setTooltip, setTooltipAttributes
addSclass, evalCSSFlex, focus, getAction, getDraggable, getDroppable, getHeight, getHflex, getLeft, getRenderdefer, getSclass, getStyle, getTabindex, getTabindexInteger, getTooltiptext, getTop, getVflex, getWidth, getZindex, getZIndex, removeSclass, removeSclass, setAction, setClass, setDraggable, 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, beforeChildAdded, beforeChildRemoved, beforeParentChanged, detach, didActivate, didActivate, didDeserialize, didDeserialize, disableBindingAnnotation, disableClientUpdate, enableBindingAnnotation, 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, insertBefore, invalidate, invalidatePartial, isInitialized, isInvalidated, isListenerAvailable, isVisible, onChildAdded, onChildRemoved, onPageAttached, onPageDetached, 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, setVisible, setVisibleDirectly, setWidgetAttribute, setWidgetClass, setWidgetListener, setWidgetOverride, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdateWidgetListener, smartUpdateWidgetOverride, toString, updateSubBindingAnnotationCount, willPassivate, willPassivate, willSerialize, willSerialize
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
invalidatePartial
public Button()
public Button(java.lang.String label)
public Button(java.lang.String label, java.lang.String image)
public boolean isDisabled()
Default: false.
isDisabled
in interface Disable
public void setDisabled(boolean disabled)
setDisabled
in interface Disable
setAutodisable(java.lang.String)
public java.lang.String getAutodisable()
public void setAutodisable(java.lang.String autodisable)
To represent the button itself, the developer can specify self
.
For example, <button id="ok" autodisable="self,cancel"/>
is the same as <button id="ok" autodisable="ok,cancel"/>
that will disable
both the ok and cancel buttons when an user clicks it.
The button being disabled will be enabled automatically once the client receives a response from the server. In other words, the server doesn't notice if a button is disabled with this method.
However, if you prefer to enable them later manually, you can
prefix with '+'. For example,
<button id="ok" autodisable="+self,+cancel"/>
Then, you have to enable them manually such as
if (something_happened){
ok.setDisabled(false);
cancel.setDisabled(false);
Default: null.
public java.lang.String getDir()
Default: "normal".
public void setDir(java.lang.String dir) throws WrongValueException
dir
- either "normal" or "reverse".WrongValueException
public java.lang.String getOrient()
Default: "horizontal".
public void setOrient(java.lang.String orient) throws WrongValueException
orient
- either "horizontal" or "vertical".WrongValueException
public java.lang.String getType()
Default: "button".
public void setType(java.lang.String type) throws WrongValueException
Default: "button". It is meaningful only if it is used with a HTML form. Refer to HTML Button Type for details.
type
- either "button", "submit" or "reset".WrongValueException
public java.lang.String getHref()
Default: null. If null, the button has no function unless you specify the onClick event listener.
If it is not null, the onClick event won't be sent.
public void setHref(java.lang.String href)
public java.lang.String getTarget()
Note: it is useful only if href (setHref(java.lang.String)
) is specified
(i.e., use the onClick listener).
Default: null.
public void setTarget(java.lang.String target)
target
- the name of the frame or window to hyperlink.public java.lang.String getUpload()
Uploadable
Uploadable.setUpload(java.lang.String)
for more details.getUpload
in interface Uploadable
public void setUpload(java.lang.String upload)
Uploadable
Default: null.
For example, the following example declares a button for file upload:
<button label="Upload" upload="true"
onUpload="handle(event.media)"/>
As shown above, after the file is uploaded, an instance of
UploadEvent
is sent this component.
If you want to customize the handling of the file upload at
the client, you can specify a JavaScript class when calling
this method:
<button upload="foo.Upload"/>
Another options for the upload can be specified as follows:
<button label="Upload" upload="true,maxsize=-1,multiple=true,accept=audio/*|video/*|image/*,native"
Configuration.getMaxUploadSize()
|
(e.g. missing-required-component|illegal-upload) (since ZK 9.5.1).
Note: if the options of the false
or the customized handler
(like foo.Upload
) are not specified, the option of true
is implicit by default.
setUpload
in interface Uploadable
upload
- a JavaScript class to handle the file upload
at the client, or "true" if the default class is used,
or null or "false" to disable the file download (and then
this button behaves like a normal button).Uploadable.Error
protected void renderProperties(ContentRenderer renderer) throws java.io.IOException
HtmlBasedComponent
renderProperties
in class LabelImageElement
java.io.IOException
protected void renderCrawlable(java.lang.String label) throws java.io.IOException
LabelElement
LabelElement.renderProperties(org.zkoss.zk.ui.sys.ContentRenderer)
,
and designed to be overridden if the deriving class wants to generate
it differently.
Default: org.zkoss.zul.impl.Utils.renderCrawlableText(label)
renderCrawlable
in class LabelElement
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 java.lang.Object clone()
Component
clone
in interface Component
clone
in class LabelImageElement
protected boolean isChildable()
isChildable
in class AbstractComponent
protected void updateByClient(java.lang.String name, java.lang.Object value)
AbstractComponent
setAttr
(by invoking zk.Widget's smartUpdate at client).
By default, it does nothing but log a warning message, since it is not safe to allow the client to update a field arbitrary.
However, if you'd like to allow the update for a particular component you could do one of the following
protected void updateByClient(String name, Object value) {
if ("disabled".equals(name))
setDisabled(name, ((Boolean)value).booleanValue());
else
super.updateByClient(name, value);
org.zkoss.zk.ui.updateByClient
to be true.
Then, this method will use reflection to find out the setter to update
the value. Nothing happens if the method is not found.Notice: this method will invoke AbstractComponent.disableClientUpdate(boolean)
to
disable any update to the client, when calling the setter.
If you want to enable the client update for all instances of a given component (though not recommended for the security reason), you could refer to here.
See also zk.Widget.smartUpdate().
updateByClient
in class AbstractComponent
public void service(AuRequest request, boolean everError)
HtmlBasedComponent
Default: it handles onClick, onDoubleClick, onRightClick onMove, onSize, onZIndex.
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)
Copyright © 2005-2021 Potix Corporation. All Rights Reserved.