- 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 classCheckBox.CheckBoxRendererHelper interface that doesn't add any new methods but makes coding new check box renderers a little bit more clearstatic classCheckBox.DefaultCheckBoxRendererThe default renderer that is used unless overridden.static interfaceCheckBox.ListenerListener 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 booleancheckedprivate java.lang.Stringlabelprivate java.util.List<CheckBox.Listener>listeners
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description CheckBoxaddListener(CheckBox.Listener listener)Adds a listener to this check box so that it will be notificed on certain user actionsprotected CheckBox.CheckBoxRenderercreateDefaultRenderer()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.StringgetLabel()Returns the label of check boxInteractable.ResulthandleKeyStroke(KeyStroke keyStroke)This method can be overridden to handle various user input (mostly from the keyboard) when this component is in focus.booleanisChecked()Returns the checked state of this check boxCheckBoxremoveListener(CheckBox.Listener listener)Removes a listener from this check box so that, if it was previously added, it will no long receive any eventsCheckBoxsetChecked(boolean checked)Programmatically updated the check box to a particular checked stateCheckBoxsetLabel(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:
trueif the check box is toggled on, otherwisefalse
-
handleKeyStroke
public Interactable.Result handleKeyStroke(KeyStroke keyStroke)
Description copied from class:AbstractInteractableComponentThis 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 inAbstractInteractableComponentto ensure the input filter is properly handled. If the filter decides that this event should be processed, it will call this method.- Overrides:
handleKeyStrokein 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:AbstractComponentWhen 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:
createDefaultRendererin classAbstractInteractableComponent<CheckBox>- Returns:
- Renderer to use when sizing and drawing this component
-
-