Package org.zkoss.zul
Class Radiogroup
- java.lang.Object
-
- org.zkoss.zk.ui.AbstractComponent
-
- org.zkoss.zk.ui.HtmlBasedComponent
-
- org.zkoss.zul.impl.XulElement
-
- org.zkoss.zul.Radiogroup
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
,Component
,Disable
,Scope
,ComponentCtrl
public class Radiogroup extends XulElement implements Disable
A radio group.Note: To support the versatile layout, a radio group accepts any kind of children, including
Radio
. On the other hand, the parent of a radio, if any, must be a radio group.- Author:
- tomyeh
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.zkoss.zk.ui.HtmlBasedComponent
HtmlBasedComponent.ExtraCtrl
-
Nested classes/interfaces inherited from class org.zkoss.zk.ui.AbstractComponent
AbstractComponent.Children, AbstractComponent.ForwardInfo, AbstractComponent.TargetInfo
-
-
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
AFTER_CHILD_ADDED, AFTER_CHILD_REMOVED, AFTER_PAGE_ATTACHED, AFTER_PAGE_DETACHED, AFTER_PARENT_CHANGED, CE_BUSY_IGNORE, CE_DUPLICATE_IGNORE, CE_IMPORTANT, CE_NON_DEFERRABLE, CE_REPEAT_IGNORE
-
-
Constructor Summary
Constructors Constructor Description Radiogroup()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Radio
appendItem(java.lang.String label, java.lang.String value)
Appends a radio button.java.lang.Object
clone()
Clones the component.Radio
getItemAtIndex(int index)
Returns the radio button at the specified index.int
getItemCount()
Returns the number of radio buttons in this group.java.util.List<Radio>
getItems()
Returns a readonly list ofRadio
.<T> ListModel<T>
getModel()
Returns the list model associated with this radiogroup, or null if this radiogroup is not associated with any list data model.java.lang.String
getName()
Returns the name of this group of radio buttons.java.lang.String
getOrient()
Returns the orient.<T> RadioRenderer<T>
getRadioRenderer()
Returns the renderer to render each radio, or null if the default renderer is used.int
getSelectedIndex()
Returns the index of the selected radio button (-1 if no one is selected).Radio
getSelectedItem()
Returns the selected radio button.boolean
isDisabled()
Returns whether it is disabled.void
onChildAdded(Component child)
Default: handles special event listeners.void
onInitRender(Event data)
For model renderingvoid
onPageAttached(Page newpage, Page oldpage)
Default: handles special event listeners.void
onPageDetached(Page page)
Default: handles special event listeners.Radio
removeItemAt(int index)
Removes the child radio button in the radio group at the given index.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
setDisabled(boolean disabled)
Sets whether the radiogroup is disabled.void
setModel(ListModel<?> model)
Sets the list model associated with this radiogroup.void
setName(java.lang.String name)
Sets the name of this group of radio buttons.void
setOrient(java.lang.String orient)
Sets the orient.void
setRadioRenderer(java.lang.String clsnm)
Sets the renderer by use of a class name.void
setRadioRenderer(RadioRenderer<?> renderer)
Sets the renderer which is used to render each row ifgetModel()
is not null.void
setSelectedIndex(int jsel)
Deselects all of the currently selected radio button and selects the radio button with the given index.void
setSelectedItem(Radio item)
Deselects all of the currently selected radio buttons and selects the given radio button.-
Methods inherited from class org.zkoss.zul.impl.XulElement
getContext, getCtrlKeys, getPopup, getPropertyAccess, getTooltip, setContext, setContext, setContextAttributes, setCtrlKeys, setPopup, setPopup, setPopupAttributes, setTooltip, setTooltip, setTooltipAttributes
-
Methods inherited from class org.zkoss.zk.ui.HtmlBasedComponent
addSclass, evalCSSFlex, focus, getAction, getClientAction, getDraggable, getDroppable, getExtraCtrl, getHeight, getHflex, getLeft, getRenderdefer, getSclass, getStyle, getTabindex, getTabindexInteger, getTooltiptext, getTop, getVflex, getWidth, getZclass, getZindex, getZIndex, removeSclass, removeSclass, setAction, setClass, setClientAction, 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
-
Methods inherited from class org.zkoss.zk.ui.AbstractComponent
addAnnotation, addCallback, addClientEvent, addEventHandler, addEventListener, addEventListener, addForward, addForward, addForward, addForward, addMoved, addRedrawCallback, addScopeListener, addShadowRoot, addShadowRootBefore, addSharedEventHandlerMap, appendChild, applyProperties, beforeChildAdded, beforeChildRemoved, beforeParentChanged, destroyIndexCacheMap, detach, didActivate, didActivate, didDeserialize, didDeserialize, disableBindingAnnotation, disableClientUpdate, disableHostChanged, enableBindingAnnotation, enableHostChanged, getAnnotatedProperties, getAnnotatedPropertiesBy, getAnnotation, 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, getForwards, getId, getIndexCacheMap, getLastChild, getMold, getNextSibling, getPage, getParent, getPreviousSibling, getRedrawCallback, getRoot, getShadowFellowIfAny, getShadowRoots, getShadowVariable, getShadowVariable, getShadowVariable0, getSpaceOwner, getSpecialRendererOutput, getStubonly, getSubBindingAnnotationCount, getTemplate, getTemplateNames, getUuid, getWidgetAttributeNames, getWidgetClass, getWidgetListener, getWidgetListenerNames, getWidgetOverride, getWidgetOverrideNames, hasAttribute, hasAttribute, hasAttribute, hasAttributeOrFellow, hasBindingAnnotation, hasFellow, hasFellow, hasSubBindingAnnotation, initIndexCacheMap, insertBefore, invalidate, isChildable, isDisabledHostChanged, isInitialized, isInvalidated, isListenerAvailable, isVisible, onChildRemoved, onParentChanged, onWrongValue, query, queryAll, redraw, redrawChildren, removeAttribute, removeAttribute, removeAttribute, removeCallback, removeChild, removeEventListener, removeForward, removeForward, removeRedrawCallback, removeScopeListener, removeShadowRoot, render, render, render, renderPropertiesOnly, 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, setWidgetClass, setWidgetListener, setWidgetOverride, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdateWidgetListener, smartUpdateWidgetOverride, toString, updateByClient, updateSubBindingAnnotationCount, willPassivate, willPassivate, willSerialize, willSerialize
-
-
-
-
Method Detail
-
getOrient
public java.lang.String getOrient()
Returns the orient.Default: "horizontal".
-
setOrient
public void setOrient(java.lang.String orient) throws WrongValueException
Sets the orient.- Parameters:
orient
- either "horizontal" or "vertical".- Throws:
WrongValueException
-
getItems
public java.util.List<Radio> getItems()
Returns a readonly list ofRadio
. Note: any update to the list won't affect the state of this radio group.- Since:
- 5.0.4
-
getItemAtIndex
public Radio getItemAtIndex(int index)
Returns the radio button at the specified index.
-
getItemCount
public int getItemCount()
Returns the number of radio buttons in this group.
-
getSelectedIndex
public int getSelectedIndex()
Returns the index of the selected radio button (-1 if no one is selected). Note: The index of the external radio button could be unintuitive since radio group always count descendant radio before external radio.
-
setSelectedIndex
public void setSelectedIndex(int jsel)
Deselects all of the currently selected radio button and selects the radio button with the given index.
-
getSelectedItem
public Radio getSelectedItem()
Returns the selected radio button.
-
setSelectedItem
public void setSelectedItem(Radio item)
Deselects all of the currently selected radio buttons and selects the given radio button.
-
appendItem
public Radio appendItem(java.lang.String label, java.lang.String value)
Appends a radio button.
-
removeItemAt
public Radio removeItemAt(int index)
Removes the child radio button in the radio group at the given index.- Returns:
- the removed radio button.
-
getName
public java.lang.String getName()
Returns the name of this group of radio buttons. All child radio buttons shared the same name (Radio.getName()
).Default: automatically generated a unique name
Don't use this method if your application is purely based on ZK's event-driven model.
-
setName
public void setName(java.lang.String name)
Sets the name of this group of radio buttons. All child radio buttons shared the same name (Radio.getName()
).Don't use this method if your application is purely based on ZK's event-driven model.
-
isDisabled
public boolean isDisabled()
Returns whether it is disabled.Default: false.
- Specified by:
isDisabled
in interfaceDisable
- Since:
- 9.6.0
-
setDisabled
public void setDisabled(boolean disabled)
Sets whether the radiogroup is disabled. All the radios belong to this radiogroup will be set to disabled or not disabled as well. Notice: Once a radio is added to a disabled radiogroup (including external radio), the radio will be set to disabled too.- Specified by:
setDisabled
in interfaceDisable
- Parameters:
disabled
- whether the radiogroup is disabled- Since:
- 9.6.0
-
renderProperties
protected void renderProperties(ContentRenderer renderer) throws java.io.IOException
Description copied from class:HtmlBasedComponent
Renders the content of this component, excluding the enclosing tags and children.- Overrides:
renderProperties
in classXulElement
- Throws:
java.io.IOException
-
getModel
public <T> ListModel<T> getModel()
Returns the list model associated with this radiogroup, or null if this radiogroup is not associated with any list data model.- Since:
- 6.0.0
-
setModel
public void setModel(ListModel<?> model)
Sets the list model associated with this radiogroup. If a non-null model is assigned, no matter whether it is the same as the previous, it will always cause re-render.- Parameters:
model
- the list model to associate, or null to dis-associate any previous model.- Throws:
UiException
- if failed to initialize with the model- Since:
- 6.0.0
-
onInitRender
public void onInitRender(Event data)
For model rendering- Parameters:
data
-
-
getRadioRenderer
public <T> RadioRenderer<T> getRadioRenderer()
Returns the renderer to render each radio, or null if the default renderer is used.- Since:
- 6.0.0
-
setRadioRenderer
public void setRadioRenderer(RadioRenderer<?> renderer)
Sets the renderer which is used to render each row ifgetModel()
is not null.Note: changing a render will not cause the radiogroup to re-render. If you want it to re-render, you could assign the same model again (i.e., setModel(getModel())), or fire an
ListDataEvent
event.- Parameters:
renderer
- the renderer, or null to use the default.- Throws:
UiException
- if failed to initialize with the model- Since:
- 6.0.0
-
setRadioRenderer
public void setRadioRenderer(java.lang.String clsnm) throws java.lang.ClassNotFoundException, java.lang.NoSuchMethodException, java.lang.IllegalAccessException, java.lang.InstantiationException, java.lang.reflect.InvocationTargetException
Sets the renderer by use of a class name. It creates an instance automatically.- Throws:
java.lang.ClassNotFoundException
java.lang.NoSuchMethodException
java.lang.IllegalAccessException
java.lang.InstantiationException
java.lang.reflect.InvocationTargetException
- Since:
- 6.0.0
-
clone
public java.lang.Object clone()
Description copied from interface:Component
Clones the component. All of its children and descendants are cloned. Also, ID are preserved.- Specified by:
clone
in interfaceComponent
- Overrides:
clone
in classXulElement
- Returns:
- the new component. Notice that it doesn't belong to any page, nor desktop. It doesn't have a parent, either.
-
service
public void service(AuRequest request, boolean everError)
Processes an AU request.- Specified by:
service
in interfaceComponentCtrl
- Overrides:
service
in classHtmlBasedComponent
everError
- whether any error ever occurred before processing this request.- Since:
- 10.0.0
- See Also:
AbstractComponent.setAuService(org.zkoss.zk.au.AuService)
-
onPageAttached
public void onPageAttached(Page newpage, Page oldpage)
Description copied from class:AbstractComponent
Default: handles special event listeners.- Specified by:
onPageAttached
in interfaceComponentCtrl
- Overrides:
onPageAttached
in classAbstractComponent
- Parameters:
newpage
- the new page (never null).oldpage
- the previous page, if any, or null if it didn't belong to any page.- See Also:
ComponentCtrl.onPageAttached(org.zkoss.zk.ui.Page, org.zkoss.zk.ui.Page)
-
onPageDetached
public void onPageDetached(Page page)
Description copied from class:AbstractComponent
Default: handles special event listeners.- Specified by:
onPageDetached
in interfaceComponentCtrl
- Overrides:
onPageDetached
in classAbstractComponent
- Parameters:
page
- the previous page (never null)- See Also:
ComponentCtrl.onPageDetached(org.zkoss.zk.ui.Page)
-
onChildAdded
public void onChildAdded(Component child)
Description copied from class:AbstractComponent
Default: handles special event listeners.- Specified by:
onChildAdded
in interfaceComponentCtrl
- Overrides:
onChildAdded
in classAbstractComponent
- See Also:
ComponentCtrl.onChildAdded(org.zkoss.zk.ui.Component)
-
-