Class Cascader<E>

  • Type Parameters:
    E - Element type in model
    All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, Component, Disable, Scope, ComponentCtrl

    public class Cascader<E>
    extends HtmlBasedComponent
    implements Disable
    A Cascader is a dropdown list in tree structure, and it supports TreeModel. It does not create child widgets for each data, so the memory usage is much lower at the server.

    Available in ZK EE.

    Default getZclass(): z-cascader.

    Since:
    9.0.0
    Author:
    jameschu
    See Also:
    Serialized Form
    • Constructor Detail

      • Cascader

        public Cascader()
    • Method Detail

      • getModel

        public TreeModel<E> getModel()
        Returns the model associated with this cascader, or null if this cascader is not associated with any tree data model.
      • setModel

        public void setModel​(TreeModel model)
        Sets the tree model associated with this cascader.
        Parameters:
        model - the list model to associate, or null to dis-associate any previous model. If not null, it must implement Selectable.
        Throws:
        UiException - if failed to initialize with the model
      • onInitRender

        public void onInitRender()
        Handles a private event, onInitRender. It is used only for implementation, and you rarely need to invoke it explicitly.
      • getItemRenderer

        public ItemRenderer<E> getItemRenderer()
        Returns the renderer to render each item, or null if the default renderer is used.
      • setItemRenderer

        public void setItemRenderer​(ItemRenderer<E> renderer)
        Sets the renderer which is used to render each item if getModel() is not null.

        Note: changing a render will cause the cascader to re-render.

        Parameters:
        renderer - the renderer, or null to use the default.
      • setItemRenderer

        public void setItemRenderer​(java.lang.String clsnm)
                             throws java.lang.ReflectiveOperationException
        Sets the renderer by use of a class name. It creates an instance automatically.
        Parameters:
        clsnm - The class name
        Throws:
        java.lang.ReflectiveOperationException - if failed to initialize the renderer
      • getItemConverter

        public Converter<java.util.Collection<E>,​java.lang.String> getItemConverter()
        Returns the converter that generates the label text shown in the cascader from selected items, or null to use the default implementation. (joining by slashes, i.g. "A/B/C")
      • setItemConverter

        public void setItemConverter​(Converter<java.util.Collection<E>,​java.lang.String> converter)
        Sets the converter that generates the label text shown in the cascader from selected items.
        Parameters:
        converter - the converter, or null to use the default implementation.
      • setItemConverter

        public void setItemConverter​(java.lang.String clsnm)
                              throws java.lang.ReflectiveOperationException
        Sets the converter by use of a class name. It creates an instance automatically.
        Parameters:
        clsnm - The class name
        Throws:
        java.lang.ReflectiveOperationException - if failed to initialize the converter
      • getPlaceholder

        public java.lang.String getPlaceholder()
        Returns the placeholder text.
      • setPlaceholder

        public void setPlaceholder​(java.lang.String placeholder)
        Sets the placeholder text that is displayed when the selected item is empty.
      • isOpen

        public boolean isOpen()
        Returns whether this cascader is open.

        Default: false.

      • setOpen

        public void setOpen​(boolean open)
        Drops down or closes the list of items.
      • isDisabled

        public boolean isDisabled()
        Description copied from interface: Disable
        Returns whether it is disabled.

        Default: false.

        Specified by:
        isDisabled in interface Disable
      • setDisabled

        public void setDisabled​(boolean disabled)
        Description copied from interface: Disable
        Sets whether it is disabled.
        Specified by:
        setDisabled in interface Disable
      • getSelectedItems

        public java.util.Set<E> getSelectedItems()
        Returns all selected items.
      • getSelectedItem

        public E getSelectedItem()
        Returns the selected item.
      • setSelectedItem

        public void setSelectedItem​(E item)
        Deselects selected item and selects the given item.
      • invalidate

        public void invalidate()
        Description copied from interface: Component
        Invalidates this component by setting the dirty flag such that it will be redraw the whole content of this component and its dependencies later. And, the widget associated with this component and all its descendant at the client will be deleted and recreated, too.

        If the application is totally controlled by the server side (i.e., you don't write client codes), you rarely need to access this method.

        It can be called only in the request-processing and event-processing phases. However, it is NOT allowed in the rendering phase.

        Specified by:
        invalidate in interface Component
        Overrides:
        invalidate in class AbstractComponent
      • 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 interface Component
        Overrides:
        clone in class HtmlBasedComponent
        Returns:
        the new component. Notice that it doesn't belong to any page, nor desktop. It doesn't have a parent, either.