- java.lang.Object
-
- com.googlecode.lanterna.gui2.AbstractComponent<T>
-
- com.googlecode.lanterna.gui2.AbstractInteractableComponent<CheckBox>
-
- com.googlecode.lanterna.gui2.CheckBox
-
- All Implemented Interfaces:
Component
,Interactable
,TextGUIElement
public class CheckBox extends AbstractInteractableComponent<CheckBox>
The checkbox component looks like a regular checkbox that you can find in modern graphics user interfaces, a label and a space that the user can toggle on and off by using enter or space keys.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
CheckBox.CheckBoxRenderer
Helper interface that doesn't add any new methods but makes coding new check box renderers a little bit more clearstatic class
CheckBox.DefaultCheckBoxRenderer
The default renderer that is used unless overridden.static interface
CheckBox.Listener
Listener interface that can be used to catch user events on the check box-
Nested classes/interfaces inherited from interface com.googlecode.lanterna.gui2.Interactable
Interactable.FocusChangeDirection, Interactable.Result
-
-
Field Summary
Fields Modifier and Type Field Description private boolean
checked
private java.lang.String
label
private java.util.List<CheckBox.Listener>
listeners
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description CheckBox
addListener(CheckBox.Listener listener)
Adds a listener to this check box so that it will be notificed on certain user actionsprotected CheckBox.CheckBoxRenderer
createDefaultRenderer()
When you create a custom component, you need to implement this method and return a Renderer which is responsible for taking care of sizing the component, rendering it and choosing where to place the cursor (if Interactable).java.lang.String
getLabel()
Returns the label of check boxInteractable.Result
handleKeyStroke(KeyStroke keyStroke)
This method can be overridden to handle various user input (mostly from the keyboard) when this component is in focus.boolean
isChecked()
Returns the checked state of this check boxCheckBox
removeListener(CheckBox.Listener listener)
Removes a listener from this check box so that, if it was previously added, it will no long receive any eventsCheckBox
setChecked(boolean checked)
Programmatically updated the check box to a particular checked stateCheckBox
setLabel(java.lang.String label)
Updates the label of the checkbox-
Methods inherited from class com.googlecode.lanterna.gui2.AbstractInteractableComponent
afterEnterFocus, afterLeaveFocus, getCursorLocation, getInputFilter, getRenderer, handleInput, isActivationStroke, isEnabled, isFocusable, isFocused, isKeyboardActivationStroke, isMouseActivationStroke, isMouseDown, isMouseDrag, isMouseMove, isMouseUp, onEnterFocus, onLeaveFocus, setEnabled, setInputFilter, takeFocus
-
Methods inherited from class com.googlecode.lanterna.gui2.AbstractComponent
addTo, calculatePreferredSize, draw, getBasePane, getGlobalPosition, getLayoutData, getParent, getPosition, getPreferredSize, getSize, getTextGUI, getTheme, getThemeDefinition, hasParent, invalidate, isInside, isInvalid, isVisible, onAdded, onAfterDrawing, onBeforeDrawing, onRemoved, runOnGUIThreadIfExistsOtherwiseRunDirect, self, setLayoutData, setPosition, setPreferredSize, setRenderer, setSize, setTheme, setVisible, toBasePane, toGlobal, withBorder
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.googlecode.lanterna.gui2.Component
addTo, getBasePane, getGlobalPosition, getLayoutData, getParent, getPosition, getPreferredSize, getSize, getTextGUI, getTheme, getThemeDefinition, hasParent, invalidate, isInside, isVisible, onAdded, onRemoved, setLayoutData, setPosition, setPreferredSize, setSize, setTheme, setVisible, toBasePane, toGlobal, withBorder
-
Methods inherited from interface com.googlecode.lanterna.gui2.TextGUIElement
draw, isInvalid
-
-
-
-
Field Detail
-
listeners
private final java.util.List<CheckBox.Listener> listeners
-
label
private java.lang.String label
-
checked
private boolean checked
-
-
Method Detail
-
setChecked
public CheckBox setChecked(boolean checked)
Programmatically updated the check box to a particular checked state- Parameters:
checked
- Iftrue
, the check box will be set to toggled on, otherwisefalse
- Returns:
- Itself
-
isChecked
public boolean isChecked()
Returns the checked state of this check box- Returns:
true
if the check box is toggled on, otherwisefalse
-
handleKeyStroke
public Interactable.Result handleKeyStroke(KeyStroke keyStroke)
Description copied from class:AbstractInteractableComponent
This method can be overridden to handle various user input (mostly from the keyboard) when this component is in focus. The input method from the interface,handleInput(..)
is final inAbstractInteractableComponent
to ensure the input filter is properly handled. If the filter decides that this event should be processed, it will call this method.- Overrides:
handleKeyStroke
in classAbstractInteractableComponent<CheckBox>
- Parameters:
keyStroke
- What input was entered by the user- Returns:
- Result of processing the key-stroke
-
setLabel
public CheckBox setLabel(java.lang.String label)
Updates the label of the checkbox- Parameters:
label
- New label to assign to the check box- Returns:
- Itself
-
getLabel
public java.lang.String getLabel()
Returns the label of check box- Returns:
- Label currently assigned to the check box
-
addListener
public CheckBox addListener(CheckBox.Listener listener)
Adds a listener to this check box so that it will be notificed on certain user actions- Parameters:
listener
- Listener to fire events on- Returns:
- Itself
-
removeListener
public CheckBox removeListener(CheckBox.Listener listener)
Removes a listener from this check box so that, if it was previously added, it will no long receive any events- Parameters:
listener
- Listener to remove from the check box- Returns:
- Itself
-
createDefaultRenderer
protected CheckBox.CheckBoxRenderer createDefaultRenderer()
Description copied from class:AbstractComponent
When you create a custom component, you need to implement this method and return a Renderer which is responsible for taking care of sizing the component, rendering it and choosing where to place the cursor (if Interactable). This value is intended to be overridden by custom themes.- Specified by:
createDefaultRenderer
in classAbstractInteractableComponent<CheckBox>
- Returns:
- Renderer to use when sizing and drawing this component
-
-