Class BaseFormattedTextField
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.text.JTextComponent
javax.swing.JTextField
javax.swing.JFormattedTextField
com.inductiveautomation.vision.api.client.components.model.BaseFormattedTextField
- All Implemented Interfaces:
DynamicPropertyProvider
,LocaleListener
,MutableDynamicPropertyProvider
,StyleProvider
,ComponentLifecycle
,EnabledEx
,QualityMonitor
,VisionComponent
,TouchscreenMouseListener.TouchscreenEnabledComponent
,ImageObserver
,MenuContainer
,Serializable
,Accessible
,Scrollable
,SwingConstants
- Direct Known Subclasses:
PMINumericTextField
,PMITextField
public abstract class BaseFormattedTextField
extends JFormattedTextField
implements MutableDynamicPropertyProvider, VisionComponent, StyleProvider, TouchscreenMouseListener.TouchscreenEnabledComponent, EnabledEx, LocaleListener
Base class for most text entry fields. Adds automatic touchscreen handling.
- See Also:
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class javax.swing.JFormattedTextField
JFormattedTextField.AbstractFormatter, JFormattedTextField.AbstractFormatterFactory
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
FieldsModifier and TypeFieldDescriptionprotected boolean
protected boolean
protected VisionClientContext
The current ClientContext that is set on startupComponent()protected int
protected Color
protected String
protected Color
protected boolean
protected boolean
protected int
Fields inherited from class javax.swing.JFormattedTextField
COMMIT, COMMIT_OR_REVERT, PERSIST, REVERT
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 com.inductiveautomation.vision.api.client.components.model.ComponentLifecycle
COMPONENT_RUNNING
Fields inherited from interface com.inductiveautomation.vision.api.client.components.model.EnabledEx
DISABLED_BY_PERMISSIONS
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Fields inherited from interface com.inductiveautomation.ignition.client.model.LocaleListener
LOCAL_CHANGE_EVENT
Fields inherited from interface com.inductiveautomation.vision.api.client.binding.MutableDynamicPropertyProvider
RESERVED_SET_KEY
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
Fields inherited from interface com.inductiveautomation.vision.api.client.components.model.VisionComponent
COMPONENT_LOCKED, COMPONENT_PERMISSIONS, COMPONENT_SECURITY, COMPONENT_TRANSLATIONS
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void
_setEditable
(boolean b) Protected accessor to super.setEditable() that bypasses protected mode checkvoid
int
int
For backwards compatibility with scripts.The keyboard layout name preferred by this component.getPropertyValue
(String name) Retrieves the data quality code.int
boolean
boolean
boolean
protected boolean
Returns true if this text box is currently being edited by the user.boolean
isOpaque()
boolean
isPropertyDefined
(String name) boolean
boolean
boolean
void
localeChanged
(Locale newLocale) protected abstract JFormattedTextField.AbstractFormatterFactory
Subclasses must implement this to create the formatter factory of the type they want to useprotected void
Subclasses should override this to provide shutdown logic.protected void
Subclasses should override this to provide startup logic.protected void
protected void
void
setAntialias
(boolean ignored) void
setCommitOnFocusLost
(boolean commitOnFocusLost) void
setComponentEnabled
(boolean componentEnabled) void
setCursorCode
(int cursorCode) void
setDataQuality
(int value) void
void
setEditable
(boolean b) void
setEditableBackground
(Color editableBackground) void
setKeyboardName
(String keyboardName) void
void
setNonEditableBackground
(Color nonEditableBackground) void
setPropertyValue
(String name, Object value) void
setProtectedMode
(boolean protectedMode) void
setQuality
(QualityCode value) Sets the current data quality to the given valuevoid
setRejectUpdatesDuringEdit
(boolean rejectUpdatesDuringEdit) void
void
setToolTipText
(String text) void
setTouchscreenMode
(int touchscreenMode) void
protected void
setValueDirect
(Object obj) void
setVisible
(boolean visible) final void
Called when the component is now shown anymore.final void
startupComponent
(VisionClientContext context) Called when the component is first shown.void
updateQuality
(String propName, QualityCode quality) Updates the quality for the given property name.Methods inherited from class javax.swing.JFormattedTextField
commitEdit, getActions, getFocusLostBehavior, getFormatter, getFormatterFactory, getUIClassID, getValue, invalidEdit, isEditValid, processFocusEvent, processInputMethodEvent, setDocument, setFocusLostBehavior, setFormatter, setFormatterFactory
Methods inherited from class javax.swing.JTextField
actionPropertyChanged, addActionListener, configurePropertiesFromAction, createActionPropertyChangeListener, createDefaultModel, fireActionPerformed, getAccessibleContext, getAction, getActionListeners, getColumns, getColumnWidth, getHorizontalAlignment, getHorizontalVisibility, getPreferredSize, getScrollOffset, isValidateRoot, paramString, postActionEvent, removeActionListener, scrollRectToVisible, setAction, setActionCommand, setColumns, 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, getSelectedTextColor, getSelectionColor, getSelectionEnd, getSelectionStart, getText, getText, getToolTipText, getUI, isEditable, loadKeymap, modelToView, modelToView2D, moveCaretPosition, paste, print, print, print, read, removeCaretListener, removeKeymap, removeNotify, replaceSelection, restoreComposedText, saveComposedText, select, selectAll, setCaret, setCaretColor, setCaretPosition, setComponentOrientation, setDisabledTextColor, setDragEnabled, setDropMode, setFocusAccelerator, setHighlighter, setKeymap, setMargin, setNavigationFilter, setSelectedTextColor, setSelectionColor, setSelectionEnd, setSelectionStart, setText, 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, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, paint, paintBorder, 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, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, 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, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, 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, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.inductiveautomation.vision.api.client.components.touchscreen.TouchscreenMouseListener.TouchscreenEnabledComponent
getTouchscreenPropertyName
-
Field Details
-
context
The current ClientContext that is set on startupComponent() -
protectedMode
protected boolean protectedMode -
commitOnFocusLost
protected boolean commitOnFocusLost -
rejectUpdatesDuringEdit
protected boolean rejectUpdatesDuringEdit -
editableBackground
-
nonEditableBackground
-
touchscreenMode
protected int touchscreenMode -
keyboardName
-
antialias
protected boolean antialias -
cursorCode
protected int cursorCode
-
-
Constructor Details
-
BaseFormattedTextField
public BaseFormattedTextField()
-
-
Method Details
-
newFormatterFactory
Subclasses must implement this to create the formatter factory of the type they want to use -
getCursorCode
public int getCursorCode() -
setCursorCode
public void setCursorCode(int cursorCode) -
isComponentEnabled
public boolean isComponentEnabled()- Specified by:
isComponentEnabled
in interfaceEnabledEx
-
setComponentEnabled
public void setComponentEnabled(boolean componentEnabled) - Specified by:
setComponentEnabled
in interfaceEnabledEx
-
evaluateEnabled
public void evaluateEnabled()- Specified by:
evaluateEnabled
in interfaceEnabledEx
-
setName
-
getToolTipText
- Overrides:
getToolTipText
in classJComponent
-
getSelectedText
- Overrides:
getSelectedText
in classJTextComponent
-
isAntialias
public boolean isAntialias() -
setAntialias
public void setAntialias(boolean ignored) -
setValue
- Overrides:
setValue
in classJFormattedTextField
-
setValueDirect
-
isEditing
protected boolean isEditing()Returns true if this text box is currently being edited by the user. Note that if protected mode is on, they have to double-click in the box first -
isRejectUpdatesDuringEdit
public boolean isRejectUpdatesDuringEdit() -
setRejectUpdatesDuringEdit
public void setRejectUpdatesDuringEdit(boolean rejectUpdatesDuringEdit) -
isProtectedMode
public boolean isProtectedMode() -
setProtectedMode
public void setProtectedMode(boolean protectedMode) -
isCommitOnFocusLost
public boolean isCommitOnFocusLost() -
setCommitOnFocusLost
public void setCommitOnFocusLost(boolean commitOnFocusLost) -
_setEditable
protected void _setEditable(boolean b) Protected accessor to super.setEditable() that bypasses protected mode check -
setEditable
public void setEditable(boolean b) - Overrides:
setEditable
in classJTextComponent
-
getTouchscreenMode
public int getTouchscreenMode()- Specified by:
getTouchscreenMode
in interfaceTouchscreenMouseListener.TouchscreenEnabledComponent
-
setTouchscreenMode
public void setTouchscreenMode(int touchscreenMode) -
getTouchscreenStyle
- Specified by:
getTouchscreenStyle
in interfaceTouchscreenMouseListener.TouchscreenEnabledComponent
-
setKeyboardName
-
getKeyboardName
Description copied from interface:TouchscreenMouseListener.TouchscreenEnabledComponent
The keyboard layout name preferred by this component. Return null for automatic selection of a locale & keyboard style appropriate layout.- Specified by:
getKeyboardName
in interfaceTouchscreenMouseListener.TouchscreenEnabledComponent
- See Also:
-
KeyboardLayoutManager
InternationalKeypadDialog.showAlphaNumericDialog(Component, String, int, boolean, String)
-
isTouchscreenEditAllowed
public boolean isTouchscreenEditAllowed()- Specified by:
isTouchscreenEditAllowed
in interfaceTouchscreenMouseListener.TouchscreenEnabledComponent
-
getNonEditableBackground
-
setNonEditableBackground
-
getEditableBackground
-
setEditableBackground
-
isOpaque
public boolean isOpaque()- Overrides:
isOpaque
in classJComponent
-
setVisible
public void setVisible(boolean visible) - Overrides:
setVisible
in classJComponent
-
localeChanged
- Specified by:
localeChanged
in interfaceLocaleListener
-
getDynamicProps
- Specified by:
getDynamicProps
in interfaceMutableDynamicPropertyProvider
-
setDynamicProps
- Specified by:
setDynamicProps
in interfaceMutableDynamicPropertyProvider
-
setPropertyValue
- Specified by:
setPropertyValue
in interfaceDynamicPropertyProvider
- Throws:
ClassCastException
-
getPropertyValue
- Specified by:
getPropertyValue
in interfaceDynamicPropertyProvider
-
getProperties
- Specified by:
getProperties
in interfaceDynamicPropertyProvider
-
isPropertyDefined
- Specified by:
isPropertyDefined
in interfaceDynamicPropertyProvider
-
getQuality
Description copied from interface:QualityMonitor
Retrieves the data quality code.- Specified by:
getQuality
in interfaceQualityMonitor
-
getDataQuality
public int getDataQuality()Description copied from interface:QualityMonitor
For backwards compatibility with scripts. Would be awesome if this could just be a default method, but there's a bug (JDK-8071693) that makes that not work with property introspection.- Specified by:
getDataQuality
in interfaceQualityMonitor
-
setDataQuality
public void setDataQuality(int value) - Specified by:
setDataQuality
in interfaceQualityMonitor
-
setQuality
Description copied from interface:QualityMonitor
Sets the current data quality to the given value- Specified by:
setQuality
in interfaceQualityMonitor
-
updateQuality
Description copied from interface:QualityMonitor
Updates the quality for the given property name. The monitor will then evaluate a new quality based on the quality of its other properties. Overall, the worst quality is chosen.- Specified by:
updateQuality
in interfaceQualityMonitor
-
paintChildren
- Overrides:
paintChildren
in classJComponent
-
paintComponent
- Overrides:
paintComponent
in classJComponent
-
getStyles
- Specified by:
getStyles
in interfaceStyleProvider
-
setStyles
- Specified by:
setStyles
in interfaceStyleProvider
-
startupComponent
Description copied from interface:ComponentLifecycle
Called when the component is first shown.- Specified by:
startupComponent
in interfaceComponentLifecycle
-
shutdownComponent
public final void shutdownComponent()Description copied from interface:ComponentLifecycle
Called when the component is now shown anymore. Any long-running processes should be stopped. All bindings will have also been shutdown.- Specified by:
shutdownComponent
in interfaceComponentLifecycle
-
getAppContext
- Specified by:
getAppContext
in interfaceComponentLifecycle
-
onStartup
protected void onStartup()Subclasses should override this to provide startup logic. -
onShutdown
protected void onShutdown()Subclasses should override this to provide shutdown logic. -
setToolTipText
- Overrides:
setToolTipText
in classJComponent
-