Package adams.gui.core
Class CheckedTextField
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.text.JTextComponent
-
- javax.swing.JTextField
-
- adams.gui.core.BaseTextField
-
- adams.gui.core.CheckedTextField
-
- All Implemented Interfaces:
AnyChangeListenerSupporter
,ImageObserver
,MenuContainer
,Serializable
,Accessible
,Scrollable
,SwingConstants
- Direct Known Subclasses:
BaseObjectTextField
,DateTextField
,IndexTextField
,NumberTextField
,RangeTextField
,RegExpConstrainedTextField
public class CheckedTextField extends BaseTextField
A specialized BaseTextField that takes a check model as input.- Author:
- fracpete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
CheckedTextField.AbstractCheckModel
Abstract model for checking the text from a text field.static class
CheckedTextField.StringCheckModel
A (dummy) check model that allows any string.-
Nested classes/interfaces inherited from class javax.swing.JTextField
JTextField.AccessibleJTextField
-
Nested classes/interfaces inherited from class javax.swing.text.JTextComponent
JTextComponent.AccessibleJTextComponent, JTextComponent.DropLocation, JTextComponent.KeyBinding
-
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
-
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
-
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
-
Field Summary
Fields Modifier and Type Field Description protected CheckedTextField.AbstractCheckModel
m_CheckModel
the checkmodel in use.protected Color
m_DefaultForeground
the default foreground color.protected boolean
m_IgnoreUpdates
whether to ignore updates to the text.-
Fields inherited from class adams.gui.core.BaseTextField
m_AnyChangeListeners
-
Fields inherited from class javax.swing.JTextField
notifyAction
-
Fields inherited from class javax.swing.text.JTextComponent
DEFAULT_KEYMAP, FOCUS_ACCELERATOR_KEY
-
Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
-
Fields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
Fields inherited from interface javax.swing.SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
-
-
Constructor Summary
Constructors Constructor Description CheckedTextField()
Constructs a newTextField
.CheckedTextField(int columns)
Constructs a new emptyTextField
with the specified number of columns.CheckedTextField(int columns, CheckedTextField.AbstractCheckModel model)
Constructs a new emptyTextField
with the specified number of columns.CheckedTextField(CheckedTextField.AbstractCheckModel model)
Constructs a newTextField
.CheckedTextField(String text)
Constructs a newTextField
initializeCheckModeld with the specified text.CheckedTextField(String text, int columns)
Constructs a newTextField
initializeCheckModeld with the specified text and columns.CheckedTextField(String text, int columns, CheckedTextField.AbstractCheckModel model)
Constructs a newTextField
initializeCheckModeld with the specified text and columns.CheckedTextField(String text, CheckedTextField.AbstractCheckModel model)
Constructs a newTextField
initializeCheckModeld with the specified text.CheckedTextField(Document doc, String text, int columns)
Constructs a newBaseTextField
that uses the given text storage model and the given number of columns.CheckedTextField(Document doc, String text, int columns, CheckedTextField.AbstractCheckModel model)
Constructs a newBaseTextField
that uses the given text storage model and the given number of columns.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
attachListener()
Adds a listener to the document that checks the correctness of the input.protected void
copyToClipboard()
Copies the current settings to the clipboard.CheckedTextField.AbstractCheckModel
getCheckModel()
Returns the underlying check model.protected CheckedTextField.AbstractCheckModel
getDefaultCheckModel()
Returns the default model to use.String
getHelpText()
The help string (can be HTML) to use as tool tip.protected BasePopupMenu
getPopupMenu()
Returns a popup menu when right-clicking on the edit field.String
getText()
Returns the text.protected String
getTextUnchecked()
Returns the raw text currently being displayed.protected void
indicateValidity()
Updates the color of the border, indicating with RED if the input is invalid.protected void
initialize()
Initializes the members.protected void
initializeCheckModel()
Initializes the model.boolean
isValid()
Returns whether the current input string is valid.protected void
pasteFromClipboard()
Pastes the string representation from the clipboard.void
setCheckModel(CheckedTextField.AbstractCheckModel value)
Sets the underlying check model.void
setDefaultValue()
Sets the default value in the edit field.void
setText(String t)
Sets the text, but only if it is valid according to the current model.protected void
setTextUnchecked(String value)
Bypasses the checks when setting the text.String
toString()
Returns a short string representation.-
Methods inherited from class adams.gui.core.BaseTextField
addAnyChangeListener, initTextField, notifyAnyChangeListeners, removeAnyChangeListener
-
Methods inherited from class javax.swing.JTextField
actionPropertyChanged, addActionListener, configurePropertiesFromAction, createActionPropertyChangeListener, createDefaultModel, fireActionPerformed, getAccessibleContext, getAction, getActionListeners, getActions, getColumns, getColumnWidth, getHorizontalAlignment, getHorizontalVisibility, getPreferredSize, getScrollOffset, getUIClassID, isValidateRoot, paramString, postActionEvent, removeActionListener, scrollRectToVisible, setAction, setActionCommand, setColumns, setDocument, setFont, setHorizontalAlignment, setScrollOffset
-
Methods inherited from class javax.swing.text.JTextComponent
addCaretListener, addInputMethodListener, addKeymap, copy, cut, fireCaretUpdate, getCaret, getCaretColor, getCaretListeners, getCaretPosition, getDisabledTextColor, getDocument, getDragEnabled, getDropLocation, getDropMode, getFocusAccelerator, getHighlighter, getInputMethodRequests, getKeymap, getKeymap, getMargin, getNavigationFilter, getPreferredScrollableViewportSize, getPrintable, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getSelectedText, getSelectedTextColor, getSelectionColor, getSelectionEnd, getSelectionStart, getText, getToolTipText, getUI, isEditable, loadKeymap, modelToView, modelToView2D, moveCaretPosition, paste, print, print, print, processInputMethodEvent, read, removeCaretListener, removeKeymap, removeNotify, replaceSelection, restoreComposedText, saveComposedText, select, selectAll, setCaret, setCaretColor, setCaretPosition, setComponentOrientation, setDisabledTextColor, setDragEnabled, setDropMode, setEditable, setFocusAccelerator, setHighlighter, setKeymap, setMargin, setNavigationFilter, setSelectedTextColor, setSelectionColor, setSelectionEnd, setSelectionStart, setUI, updateUI, viewToModel, viewToModel2D, write
-
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
-
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
-
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
m_CheckModel
protected CheckedTextField.AbstractCheckModel m_CheckModel
the checkmodel in use.
-
m_DefaultForeground
protected Color m_DefaultForeground
the default foreground color.
-
m_IgnoreUpdates
protected boolean m_IgnoreUpdates
whether to ignore updates to the text.
-
-
Constructor Detail
-
CheckedTextField
public CheckedTextField()
Constructs a newTextField
. A default model is created, the initial string isnull
, and the number of columns is set to 0. A StringCheckModel is used.
-
CheckedTextField
public CheckedTextField(CheckedTextField.AbstractCheckModel model)
Constructs a newTextField
. A default model is created, the initial string isnull
, and the number of columns is set to 0. The provided model is used.- Parameters:
model
- the check model to use
-
CheckedTextField
public CheckedTextField(String text)
Constructs a newTextField
initializeCheckModeld with the specified text. A default model is created and the number of columns is 0. A StringCheckModel is used.- Parameters:
text
- the text to be displayed, ornull
-
CheckedTextField
public CheckedTextField(String text, CheckedTextField.AbstractCheckModel model)
Constructs a newTextField
initializeCheckModeld with the specified text. A default model is created and the number of columns is 0. The provided model is used.- Parameters:
text
- the text to be displayed, ornull
model
- the check model to use
-
CheckedTextField
public CheckedTextField(int columns)
Constructs a new emptyTextField
with the specified number of columns. A default model is created and the initial string is set tonull
. A StringCheckModel is used.- Parameters:
columns
- the number of columns to use to calculate the preferred width; if columns is set to zero, the preferred width will be whatever naturally results from the component implementation
-
CheckedTextField
public CheckedTextField(int columns, CheckedTextField.AbstractCheckModel model)
Constructs a new emptyTextField
with the specified number of columns. A default model is created and the initial string is set tonull
. The provided model is used.- Parameters:
columns
- the number of columns to use to calculate the preferred width; if columns is set to zero, the preferred width will be whatever naturally results from the component implementationmodel
- the check model to use
-
CheckedTextField
public CheckedTextField(String text, int columns)
Constructs a newTextField
initializeCheckModeld with the specified text and columns. A default model is created. A StringCheckModel is used.- Parameters:
text
- the text to be displayed, ornull
columns
- the number of columns to use to calculate the preferred width; if columns is set to zero, the preferred width will be whatever naturally results from the component implementation
-
CheckedTextField
public CheckedTextField(String text, int columns, CheckedTextField.AbstractCheckModel model)
Constructs a newTextField
initializeCheckModeld with the specified text and columns. A default model is created. The provided model is used.- Parameters:
text
- the text to be displayed, ornull
columns
- the number of columns to use to calculate the preferred width; if columns is set to zero, the preferred width will be whatever naturally results from the component implementationmodel
- the check model to use
-
CheckedTextField
public CheckedTextField(Document doc, String text, int columns)
Constructs a newBaseTextField
that uses the given text storage model and the given number of columns. This is the constructor through which the other constructors feed. If the document isnull
, a default model is created. A StringCheckModel is used.- Parameters:
doc
- the text storage to use; if this isnull
, a default will be provided by calling thecreateDefaultModel
methodtext
- the initial string to display, ornull
columns
- the number of columns to use to calculate the preferred width >= 0; ifcolumns
is set to zero, the preferred width will be whatever naturally results from the component implementation
-
CheckedTextField
public CheckedTextField(Document doc, String text, int columns, CheckedTextField.AbstractCheckModel model)
Constructs a newBaseTextField
that uses the given text storage model and the given number of columns. This is the constructor through which the other constructors feed. If the document isnull
, a default model is created. The provided model is used.- Parameters:
doc
- the text storage to use; if this isnull
, a default will be provided by calling thecreateDefaultModel
methodtext
- the initial string to display, ornull
columns
- the number of columns to use to calculate the preferred width >= 0; ifcolumns
is set to zero, the preferred width will be whatever naturally results from the component implementationmodel
- the check model to use
-
-
Method Detail
-
getDefaultCheckModel
protected CheckedTextField.AbstractCheckModel getDefaultCheckModel()
Returns the default model to use.- Returns:
- the default model
-
initializeCheckModel
protected void initializeCheckModel()
Initializes the model.
-
initialize
protected void initialize()
Initializes the members.
-
indicateValidity
protected void indicateValidity()
Updates the color of the border, indicating with RED if the input is invalid.
-
attachListener
protected void attachListener()
Adds a listener to the document that checks the correctness of the input.
-
copyToClipboard
protected void copyToClipboard()
Copies the current settings to the clipboard.
-
pasteFromClipboard
protected void pasteFromClipboard()
Pastes the string representation from the clipboard.
-
getPopupMenu
protected BasePopupMenu getPopupMenu()
Returns a popup menu when right-clicking on the edit field.- Returns:
- the menu, null if non available
-
setCheckModel
public void setCheckModel(CheckedTextField.AbstractCheckModel value)
Sets the underlying check model.- Parameters:
value
- the model for checking the input
-
getCheckModel
public CheckedTextField.AbstractCheckModel getCheckModel()
Returns the underlying check model.- Returns:
- the model for checking the input
-
setText
public void setText(String t)
Sets the text, but only if it is valid according to the current model.- Overrides:
setText
in classJTextComponent
- Parameters:
t
- the text to set
-
setTextUnchecked
protected void setTextUnchecked(String value)
Bypasses the checks when setting the text.- Parameters:
value
- the text to set
-
getTextUnchecked
protected String getTextUnchecked()
Returns the raw text currently being displayed.- Returns:
- the raw text or null if not
-
getText
public String getText()
Returns the text. If the current input is not valid, then the default value will be returned.- Overrides:
getText
in classJTextComponent
- Returns:
- the current text
-
isValid
public boolean isValid()
Returns whether the current input string is valid.
-
setDefaultValue
public void setDefaultValue()
Sets the default value in the edit field.
-
getHelpText
public String getHelpText()
The help string (can be HTML) to use as tool tip.
Default implementation returns null.- Returns:
- the tool tip, null if none available
-
-