Class ButtonGroup<T extends Button>

java.lang.Object
com.prineside.tdi2.scene2d.ui.ButtonGroup<T>

public class ButtonGroup<T extends Button> extends Object
Manages a group of buttons to enforce a minimum and maximum number of checked buttons. This enables "radio button" functionality and more. A button may only be in one group at a time.

The canCheck(Button, boolean) method can be overridden to control if a button check or uncheck is allowed.

Author:
Nathan Sweet
  • Constructor Details

    • ButtonGroup

      public ButtonGroup()
    • ButtonGroup

      public ButtonGroup(T... buttons)
  • Method Details

    • add

      public void add(T button)
    • add

      public void add(T... buttons)
    • remove

      public void remove(T button)
    • remove

      public void remove(T... buttons)
    • clear

      public void clear()
    • setChecked

      public void setChecked(String text)
      Sets the first TextButton with the specified text to checked.
    • uncheckAll

      public void uncheckAll()
      Sets all buttons' Button.isChecked() to false, regardless of setMinCheckCount(int).
    • getChecked

      @Null public T getChecked()
      Returns:
      The first checked button, or null.
    • getCheckedIndex

      public int getCheckedIndex()
      Returns:
      The first checked button index, or -1.
    • getAllChecked

      public Array<T> getAllChecked()
    • getButtons

      public Array<T> getButtons()
    • setMinCheckCount

      public void setMinCheckCount(int minCheckCount)
      Sets the minimum number of buttons that must be checked. Default is 1.
    • setMaxCheckCount

      public void setMaxCheckCount(int maxCheckCount)
      Sets the maximum number of buttons that can be checked. Set to -1 for no maximum. Default is 1.
    • setUncheckLast

      public void setUncheckLast(boolean uncheckLast)
      If true, when the maximum number of buttons are checked and an additional button is checked, the last button to be checked is unchecked so that the maximum is not exceeded. If false, additional buttons beyond the maximum are not allowed to be checked. Default is true.