Class SelectBox<T>

java.lang.Object
com.spinyowl.legui.component.Component
com.spinyowl.legui.component.SelectBox<T>
All Implemented Interfaces:
Serializable

public class SelectBox<T> extends Component
Creates drop-down list with select options.
See Also:
  • Field Details

  • Constructor Details

    • SelectBox

      public SelectBox()
      Default constructor. Used to create component instance without any parameters.

      Also if you want to make it easy to use with Json marshaller/unmarshaller component should contain empty constructor.

    • SelectBox

      public SelectBox(float x, float y, float width, float height)
      Constructor with position and size parameters.
      Parameters:
      x - x position position in parent component.
      y - y position position in parent component.
      width - width of component.
      height - height of component.
    • SelectBox

      public SelectBox(org.joml.Vector2f position, org.joml.Vector2f size)
      Constructor with position and size parameters.
      Parameters:
      position - position position in parent component.
      size - size of component.
  • Method Details

    • getElements

      public List<T> getElements()
      Returns all elements of list.
      Returns:
      all elements of list.
    • getButtonWidth

      public float getButtonWidth()
      Returns button width.
      Returns:
      button width.
    • setButtonWidth

      public void setButtonWidth(float buttonWidth)
      Used to set button width.
      Parameters:
      buttonWidth - button width to set.
    • getSelection

      public T getSelection()
      Returns selected element.
      Returns:
      selected element.
    • getCollapseIcon

      public Icon getCollapseIcon()
    • setCollapseIcon

      public void setCollapseIcon(Icon collapseIcon)
    • getExpandIcon

      public Icon getExpandIcon()
    • setExpandIcon

      public void setExpandIcon(Icon expandIcon)
    • getExpandButton

      public Button getExpandButton()
    • getSelectionButton

      public Button getSelectionButton()
    • getSelectionListPanel

      public SelectBox<T>.SelectBoxScrollablePanel getSelectionListPanel()
    • getVisibleCount

      public int getVisibleCount()
      Returns count of visible elements in expanded state.
      Returns:
      count of visible elements in expanded state.
    • setVisibleCount

      public void setVisibleCount(int visibleCount)
      Used to set count of visible elements.
      Parameters:
      visibleCount - count of visible elements to set.
    • isCollapsed

      public boolean isCollapsed()
      Returns true if selectbox is collapsed and false if expanded.
      Returns:
      true if selectbox is collapsed and false if expanded.
    • setCollapsed

      public void setCollapsed(boolean collapsed)
      Used to set selectbox to collapsed or expanded state.
      Parameters:
      collapsed - collapsed state to set.
    • addElement

      public void addElement(T element)
      Used to add element to selectbox.
      Parameters:
      element - element to add.
    • getElementIndex

      public int getElementIndex(T element)
      Used to get element index.
      Parameters:
      element - element to find index.
      Returns:
      index of element or -1 if no such element in selectbox.
    • removeElement

      public void removeElement(T element)
      Used to remove element from selectbox.
      Parameters:
      element - element to remove from selectbox.
    • removeElement

      public void removeElement(int index)
      Used to remove element on specified index from selectbox.
      Parameters:
      index - index of element to remove from selectbox.
    • setSelected

      public void setSelected(T element, boolean selected)
      Used to set selected state of element.
      Parameters:
      element - element to set state.
      selected - state of element to set.
    • setSelected

      public void setSelected(int index, boolean selected)
      Used to set selected state of element on specified index.
      Parameters:
      index - index of element to set state.
      selected - state of element to set.
    • getElementHeight

      public float getElementHeight()
      Returns element height.
      Returns:
      element height.
    • setElementHeight

      public void setElementHeight(float elementHeight)
      Used to set element height for all elements in selectbox.
      Parameters:
      elementHeight - element height to set.
    • addSelectBoxChangeSelectionEventListener

      public void addSelectBoxChangeSelectionEventListener(EventListener<SelectBoxChangeSelectionEvent<T>> eventListener)
      Used to add event listener for select box change selection event.
      Parameters:
      eventListener - event listener to add.
    • getSelectBoxChangeSelectionEvents

      public List<EventListener<SelectBoxChangeSelectionEvent<T>>> getSelectBoxChangeSelectionEvents()
      Returns all event listeners for select box change selection event.
      Returns:
      all event listeners for select box change selection event.
    • removeSelectBoxChangeSelectionEventListener

      public void removeSelectBoxChangeSelectionEventListener(SelectBoxChangeSelectionEventListener<T> eventListener)
      Used to remove event listener for select box change selection event.
      Parameters:
      eventListener - event listener to remove.
    • toString

      public String toString()
      Overrides:
      toString in class Component
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Component
    • getSelectBoxElements

      public List<SelectBox<T>.SelectBoxElement<T>> getSelectBoxElements()
      Gets select box elements.
      Returns:
      the select box elements
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Component
    • getSelectBoxLayer

      public SelectBox.SelectBoxLayer getSelectBoxLayer()