|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.zkoss.zk.ui.AbstractComponent org.zkoss.zk.ui.HtmlBasedComponent org.zkoss.zul.impl.XulElement org.zkoss.zul.impl.LabelElement org.zkoss.zul.impl.LabelImageElement org.zkoss.zul.Button
public class Button
A button.
Default getZclass()
: z-button.(since 3.5.0)
Nested Class Summary |
---|
Nested classes/interfaces inherited from class org.zkoss.zul.impl.LabelImageElement |
---|
LabelImageElement.ExtraCtrl |
Nested classes/interfaces inherited from class org.zkoss.zk.ui.AbstractComponent |
---|
AbstractComponent.Children |
Field Summary |
---|
Fields inherited from class org.zkoss.zk.ui.HtmlBasedComponent |
---|
_zclass |
Fields inherited from interface org.zkoss.zk.ui.Component |
---|
APPLICATION_SCOPE, COMPONENT_SCOPE, DESKTOP_SCOPE, PAGE_SCOPE, REQUEST_SCOPE, SESSION_SCOPE, SPACE_SCOPE |
Fields inherited from interface org.zkoss.zk.ui.sys.ComponentCtrl |
---|
CE_BUSY_IGNORE, CE_DUPLICATE_IGNORE, CE_IMPORTANT, CE_NON_DEFERRABLE, CE_REPEAT_IGNORE |
Constructor Summary | |
---|---|
Button()
|
|
Button(java.lang.String label)
|
|
Button(java.lang.String label,
java.lang.String image)
|
Method Summary | |
---|---|
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. |
int |
getTabindex()
Returns the tab order of this component. |
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 button 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 |
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 |
setTabindex(int tabindex)
Sets the tab order of this component. |
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 button 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. |
Methods inherited from class org.zkoss.zul.impl.LabelImageElement |
---|
getExtraCtrl, getHoverImage, getHoverImageContent, getIconSclass, getImage, getImageContent, getSrc, isImageAssigned, setHoverImage, setHoverImageContent, setHoverImageContent, setIconSclass, setImage, setImageContent, setImageContent, setSrc |
Methods inherited from class org.zkoss.zul.impl.LabelElement |
---|
getLabel, setLabel |
Methods inherited from class org.zkoss.zul.impl.XulElement |
---|
getContext, getCtrlKeys, getPopup, getTooltip, setContext, setContext, setCtrlKeys, setPopup, setPopup, setTooltip, setTooltip |
Methods inherited from class org.zkoss.zk.ui.HtmlBasedComponent |
---|
focus, getAction, getDraggable, getDroppable, getHeight, getHflex, getLeft, getRenderdefer, getSclass, getStyle, getTooltiptext, getTop, getVflex, getWidth, getZindex, getZIndex, service, setAction, setClass, setDraggable, setDroppable, setFocus, setHeight, setHeightDirectly, setHflex, setHflexDirectly, setLeft, setLeftDirectly, setRenderdefer, setSclass, setStyle, setTooltiptext, setTop, setTopDirectly, setVflex, setWidth, setWidthDirectly, setZclass, setZindex, setZIndex, setZIndexDirectly |
Methods inherited from class java.lang.Object |
---|
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public Button()
public Button(java.lang.String label)
public Button(java.lang.String label, java.lang.String image)
Method Detail |
---|
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 int getTabindex()
Default: 0 (means the same as browser's default).
public void setTabindex(int tabindex) throws WrongValueException
WrongValueException
public java.lang.String getUpload()
setUpload(java.lang.String)
for more details.
public void setUpload(java.lang.String upload)
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"
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.
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).protected void renderProperties(ContentRenderer renderer) throws java.io.IOException
HtmlBasedComponent
See also ZK Client-side Reference: Property Rendering
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
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |