Package org.zkoss.zul

## Class Panelchildren

- java.lang.Object
- - org.zkoss.zk.ui.AbstractComponent
  - - org.zkoss.zk.ui.HtmlBasedComponent
    - - org.zkoss.zul.impl.XulElement
      - - org.zkoss.zul.Panelchildren

- All Implemented Interfaces:
    `java.io.Serializable`, `java.lang.Cloneable`, `Component`, `Scope`, `ComponentCtrl`

      public class Panelchildren
      extends XulElement

  Panelchildren is used for `Panel` component to manage each child who will be shown in the body of Panel. Note that the size of Panelchildren is automatically calculated by Panel so `setWidth(String)`, `setHeight(String)`, `setHflex(String)` and `setVflex(String)` are read-only.

  Default `getZclass()`: z-panelchildren.

  Since:
    3.5.0
  Author:
    jumperchen
  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_CLONED, 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
    --- | ---
    `Panelchildren()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `beforeParentChanged​(Component parent)` | Default: If parent is null, execute the @Destroy method if any.
    `java.lang.String` | `getHflex()` | Returns horizontal flex hint of this component.
    `java.lang.String` | `getVflex()` | Return vertical flex hint of this component.
    `java.lang.String` | `getZclass()` | Returns the ZK Cascading Style class for this component.
    `void` | `setHeight​(java.lang.String height)` | This method is unsupported.
    `void` | `setHflex​(java.lang.String flex)` | This method is unsupported.
    `void` | `setVflex​(java.lang.String flex)` | This method is unsupported.
    `void` | `setWidth​(java.lang.String width)` | This method is unsupported.
    `protected void` | `smartUpdate​(java.lang.String attr, java.lang.Object value)` | Smart-updates a property of the peer widget associated with the component, running at the client, with the given value.

    - ### Methods inherited from class org.zkoss.zul.impl.XulElement

      `clone, getContext, getCtrlKeys, getPopup, getPropertyAccess, getTooltip, renderProperties, 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, getLeft, getRenderdefer, getSclass, getStyle, getTabindex, getTabindexInteger, getTooltiptext, getTop, getWidth, getZindex, getZIndex, removeSclass, removeSclass, service, setAction, setClass, setClientAction, setDraggable, setDroppable, setFocus, setHeight0, setHeightDirectly, setHflex0, setHflexDirectly, setLeft, setLeftDirectly, setRenderdefer, setSclass, setStyle, setTabindex, setTabindex, setTooltiptext, setTop, setTopDirectly, setVflex0, setVflexDirectly, 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, 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, onChildAdded, onChildRemoved, onPageAttached, onPageDetached, 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, smartUpdateWidgetListener, smartUpdateWidgetOverride, toString, updateByClient, updateSubBindingAnnotationCount, willPassivate, willPassivate, willSerialize, willSerialize`

    - ### Methods inherited from class java.lang.Object

      `equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### Panelchildren

          public Panelchildren()

  - ### Method Detail

    - #### beforeParentChanged

          public void beforeParentChanged​(Component parent)

      Description copied from class: `AbstractComponent`
      Default: If parent is null, execute the @Destroy method if any.
      Specified by:
        `beforeParentChanged` in interface `ComponentCtrl`
      Overrides:
        `beforeParentChanged` in class `AbstractComponent`
      Parameters:
        `parent` - the new parent. If null, it means detachment.
      See Also:
        `ComponentCtrl.beforeParentChanged(org.zkoss.zk.ui.Component)`

    - #### setWidth

          public void setWidth​(java.lang.String width)

      This method is unsupported. Please use `HtmlBasedComponent.setWidth(String)` instead.
      Overrides:
        `setWidth` in class `HtmlBasedComponent`
      See Also:
        `HtmlBasedComponent.setWidthDirectly(java.lang.String)`, `AbstractComponent.disableClientUpdate(boolean)`

    - #### setHeight

          public void setHeight​(java.lang.String height)

      This method is unsupported. Please use `HtmlBasedComponent.setHeight(String)` instead.
      Overrides:
        `setHeight` in class `HtmlBasedComponent`

    - #### getHflex

          public java.lang.String getHflex()

      Description copied from class: `HtmlBasedComponent`
      Returns horizontal flex hint of this component.

      Default: null

      Overrides:
        `getHflex` in class `HtmlBasedComponent`
      Returns:
        horizontal flex hint of this component.
      See Also:
        `HtmlBasedComponent.setHflex(java.lang.String)`

    - #### getVflex

          public java.lang.String getVflex()

      Description copied from class: `HtmlBasedComponent`
      Return vertical flex hint of this component.

      Default: null

      Overrides:
        `getVflex` in class `HtmlBasedComponent`
      Returns:
        vertical flex hint of this component.
      See Also:
        `HtmlBasedComponent.setVflex(java.lang.String)`

    - #### setHflex

          public void setHflex​(java.lang.String flex)

      This method is unsupported. Please use `HtmlBasedComponent.setHflex(String)` instead.
      Overrides:
        `setHflex` in class `HtmlBasedComponent`
      Parameters:
        `flex` - horizontal flex hint of this component.
      Since:
        6.0.0
      See Also:
        `HtmlBasedComponent.setVflex(java.lang.String)`, `HtmlBasedComponent.getHflex()`

    - #### setVflex

          public void setVflex​(java.lang.String flex)

      This method is unsupported. Please use `HtmlBasedComponent.setVflex(String)` instead.
      Overrides:
        `setVflex` in class `HtmlBasedComponent`
      Parameters:
        `flex` - the vertical flex hint.
      Since:
        6.0.0
      See Also:
        `HtmlBasedComponent.setHflex(java.lang.String)`, `HtmlBasedComponent.getVflex()`

    - #### smartUpdate

          protected void smartUpdate​(java.lang.String attr,
                                     java.lang.Object value)

      Description copied from class: `AbstractComponent`
      Smart-updates a property of the peer widget associated with the component, running at the client, with the given value.

      The second invocation with the same property will replace the previous call. In other words, the same property will be set only once in each execution. If you prefer to send both updates to the client, use `AbstractComponent.smartUpdate(String, Object, boolean)` instead.

      This method has no effect if `AbstractComponent.invalidate()` is ever invoked (in the same execution), since `AbstractComponent.invalidate()` assumes the whole content shall be redrawn and all smart updates to this components can be ignored,

      Once `AbstractComponent.invalidate()` is called, all invocations to `AbstractComponent.smartUpdate(String, Object)` will then be ignored, and `AbstractComponent.redraw(java.io.Writer)` will be invoked later.

      It can be called only in the request-processing and event-processing phases; excluding the redrawing phase.

      There are two ways to draw a component, one is to invoke `Component.invalidate()`, and the other is `AbstractComponent.smartUpdate(String, Object)`. While `Component.invalidate()` causes the whole content to redraw, `AbstractComponent.smartUpdate(String, Object)` let component developer control which part to redraw.

      Overrides:
        `smartUpdate` in class `AbstractComponent`
        `value` - the new value. If it is `DeferredValue`, the value will be retrieved (by calling `DeferredValue.getValue()`) in the rendering phase. It is useful if the value can not be determined now.

        For some old application servers (example, Websphere 5.1), `Execution.encodeURL(java.lang.String)` cannot be called in the event processing thread. So, the developers have to use `DeferredValue` or disable the use of the event processing thread (by use of `disable-event-thread` in zk.xml).

        If you want to generate the JavaScript code directly (i.e., the value is a valid JavaScript snippet), you can use `JavaScriptValue`. Notice that the JavaScript code will be evaluated before assigning it to the widget.

        If the value is a Date object, a special pattern will be generated (a.k.a., marshaling) to ensure it can be unmarshalled back correctly at the client. Notice that it is marshalled to a string based on `TimeZones.getCurrent()`, and then unmarshalled back at the client. In other words, if the client is in different time-zone, the value returned by getTime() might be different. However, the value will remain the same if the client marshalled the Date object back. In other words, it assumes the browser's time zone from enduser's perspective (not really browser's setting) shall be the same as `TimeZones.getCurrent()`.

        If the value is a component, a special pattern will be generated to ensure it can be unmarshalled back correctly at the client.

        In addition, the value can be any kind of objects that the client accepts (marshaled by JSON) (see also `JSONAware`).

      See Also:
        `AbstractComponent.updateByClient(java.lang.String, java.lang.Object)`, `AbstractComponent.smartUpdate(String, Object, boolean)`

    - #### getZclass

          public java.lang.String getZclass()

      Description copied from class: `HtmlBasedComponent`
      Returns the ZK Cascading Style class for this component. It usually depends on the implementation of the mold (`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.

      Overrides:
        `getZclass` in class `HtmlBasedComponent`
      See Also:
        `HtmlBasedComponent.getSclass()`