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,java.awt.image.ImageObserver,java.awt.MenuContainer,java.io.Serializable,javax.accessibility.Accessible,javax.swing.Scrollable,javax.swing.SwingConstants
- Direct Known Subclasses:
PMINumericTextField,PMITextField
public abstract class BaseFormattedTextField extends javax.swing.JFormattedTextField implements MutableDynamicPropertyProvider, VisionComponent, StyleProvider, TouchscreenMouseListener.TouchscreenEnabledComponent, EnabledEx, LocaleListener
Base class for most text entry fields. Adds automatic touchscreen handling.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classBaseFormattedTextField.SafeFocusHighlightBorder-
Nested classes/interfaces inherited from class javax.swing.JFormattedTextField
javax.swing.JFormattedTextField.AbstractFormatter, javax.swing.JFormattedTextField.AbstractFormatterFactory
-
Nested classes/interfaces inherited from class javax.swing.JTextField
javax.swing.JTextField.AccessibleJTextField
-
Nested classes/interfaces inherited from class javax.swing.text.JTextComponent
javax.swing.text.JTextComponent.AccessibleJTextComponent, javax.swing.text.JTextComponent.DropLocation, javax.swing.text.JTextComponent.KeyBinding
-
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
-
-
Field Summary
Fields Modifier and Type Field Description protected booleanantialiasprotected booleancommitOnFocusLostprotected VisionClientContextcontextThe current ClientContext that is set on startupComponent()protected intcursorCodeprotected java.awt.ColoreditableBackgroundprotected java.awt.ColornonEditableBackgroundprotected booleanprotectedModeprotected booleanrejectUpdatesDuringEditprotected inttouchscreenMode-
Fields inherited from class javax.swing.JFormattedTextField
COMMIT, COMMIT_OR_REVERT, PERSIST, REVERT
-
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 Constructor Description BaseFormattedTextField()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected void_setEditable(boolean b)Protected accessor to super.setEditable() that bypasses protected mode checkvoidevaluateEnabled()VisionClientContextgetAppContext()intgetCursorCode()intgetDataQuality()For backwards compatibility with scripts.java.util.TreeMap<java.lang.String,DynamicPropertyDescriptor>getDynamicProps()java.awt.ColorgetEditableBackground()java.awt.ColorgetNonEditableBackground()DynamicPropertyDescriptor[]getProperties()java.lang.ObjectgetPropertyValue(java.lang.String name)QualityCodegetQuality()Retrieves the data quality code.java.lang.StringgetSelectedText()DatasetgetStyles()java.lang.StringgetToolTipText()intgetTouchscreenMode()TouchscreenMouseListener.KeyboardStylegetTouchscreenStyle()booleanisAntialias()booleanisCommitOnFocusLost()booleanisComponentEnabled()protected booleanisEditing()Returns true if this text box is currently being edited by the user.booleanisOpaque()booleanisPropertyDefined(java.lang.String name)booleanisProtectedMode()booleanisRejectUpdatesDuringEdit()booleanisTouchscreenEditAllowed()voidlocaleChanged(java.util.Locale newLocale)protected abstract javax.swing.JFormattedTextField.AbstractFormatterFactorynewFormatterFactory()Subclasses must implement this to create the formatter factory of the type they want to useprotected voidonShutdown()Subclasses should override this to provide shutdown logic.protected voidonStartup()Subclasses should override this to provide startup logic.protected voidpaintChildren(java.awt.Graphics g)protected voidpaintComponent(java.awt.Graphics g)voidsetAntialias(boolean ignored)voidsetCommitOnFocusLost(boolean commitOnFocusLost)voidsetComponentEnabled(boolean componentEnabled)voidsetCursorCode(int cursorCode)voidsetDataQuality(int value)voidsetDynamicProps(java.util.TreeMap<java.lang.String,DynamicPropertyDescriptor> map)voidsetEditable(boolean b)voidsetEditableBackground(java.awt.Color editableBackground)voidsetName(java.lang.String newName)voidsetNonEditableBackground(java.awt.Color nonEditableBackground)voidsetPropertyValue(java.lang.String name, java.lang.Object value)voidsetProtectedMode(boolean protectedMode)voidsetQuality(QualityCode value)Sets the current data quality to the given valuevoidsetRejectUpdatesDuringEdit(boolean rejectUpdatesDuringEdit)voidsetStyles(Dataset styleDS)voidsetToolTipText(java.lang.String text)voidsetTouchscreenMode(int touchscreenMode)voidsetValue(java.lang.Object obj)protected voidsetValueDirect(java.lang.Object obj)voidsetVisible(boolean visible)voidshutdownComponent()Called when the component is now shown anymore.voidstartupComponent(VisionClientContext context)Called when the component is first shown.voidupdateQuality(java.lang.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 Detail
-
context
protected VisionClientContext context
The current ClientContext that is set on startupComponent()
-
protectedMode
protected boolean protectedMode
-
commitOnFocusLost
protected boolean commitOnFocusLost
-
rejectUpdatesDuringEdit
protected boolean rejectUpdatesDuringEdit
-
editableBackground
protected java.awt.Color editableBackground
-
nonEditableBackground
protected java.awt.Color nonEditableBackground
-
touchscreenMode
protected int touchscreenMode
-
antialias
protected boolean antialias
-
cursorCode
protected int cursorCode
-
-
Method Detail
-
newFormatterFactory
protected abstract javax.swing.JFormattedTextField.AbstractFormatterFactory 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:
isComponentEnabledin interfaceEnabledEx
-
setComponentEnabled
public void setComponentEnabled(boolean componentEnabled)
- Specified by:
setComponentEnabledin interfaceEnabledEx
-
evaluateEnabled
public void evaluateEnabled()
- Specified by:
evaluateEnabledin interfaceEnabledEx
-
setName
public void setName(java.lang.String newName)
- Overrides:
setNamein classjava.awt.Component
-
getToolTipText
public java.lang.String getToolTipText()
- Overrides:
getToolTipTextin classjavax.swing.JComponent
-
getSelectedText
public java.lang.String getSelectedText()
- Overrides:
getSelectedTextin classjavax.swing.text.JTextComponent
-
isAntialias
public boolean isAntialias()
-
setAntialias
public void setAntialias(boolean ignored)
-
setValue
public void setValue(java.lang.Object obj)
- Overrides:
setValuein classjavax.swing.JFormattedTextField
-
setValueDirect
protected void setValueDirect(java.lang.Object obj)
-
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:
setEditablein classjavax.swing.text.JTextComponent
-
getTouchscreenMode
public int getTouchscreenMode()
- Specified by:
getTouchscreenModein interfaceTouchscreenMouseListener.TouchscreenEnabledComponent
-
setTouchscreenMode
public void setTouchscreenMode(int touchscreenMode)
-
getTouchscreenStyle
public TouchscreenMouseListener.KeyboardStyle getTouchscreenStyle()
- Specified by:
getTouchscreenStylein interfaceTouchscreenMouseListener.TouchscreenEnabledComponent
-
isTouchscreenEditAllowed
public boolean isTouchscreenEditAllowed()
- Specified by:
isTouchscreenEditAllowedin interfaceTouchscreenMouseListener.TouchscreenEnabledComponent
-
getNonEditableBackground
public java.awt.Color getNonEditableBackground()
-
setNonEditableBackground
public void setNonEditableBackground(java.awt.Color nonEditableBackground)
-
getEditableBackground
public java.awt.Color getEditableBackground()
-
setEditableBackground
public void setEditableBackground(java.awt.Color editableBackground)
-
isOpaque
public boolean isOpaque()
- Overrides:
isOpaquein classjavax.swing.JComponent
-
setVisible
public void setVisible(boolean visible)
- Overrides:
setVisiblein classjavax.swing.JComponent
-
localeChanged
public void localeChanged(java.util.Locale newLocale)
- Specified by:
localeChangedin interfaceLocaleListener
-
getDynamicProps
public java.util.TreeMap<java.lang.String,DynamicPropertyDescriptor> getDynamicProps()
- Specified by:
getDynamicPropsin interfaceMutableDynamicPropertyProvider
-
setDynamicProps
public void setDynamicProps(java.util.TreeMap<java.lang.String,DynamicPropertyDescriptor> map)
- Specified by:
setDynamicPropsin interfaceMutableDynamicPropertyProvider
-
setPropertyValue
public void setPropertyValue(java.lang.String name, java.lang.Object value) throws java.lang.ClassCastException- Specified by:
setPropertyValuein interfaceDynamicPropertyProvider- Throws:
java.lang.ClassCastException
-
getPropertyValue
public java.lang.Object getPropertyValue(java.lang.String name)
- Specified by:
getPropertyValuein interfaceDynamicPropertyProvider
-
getProperties
public DynamicPropertyDescriptor[] getProperties()
- Specified by:
getPropertiesin interfaceDynamicPropertyProvider
-
isPropertyDefined
public boolean isPropertyDefined(java.lang.String name)
- Specified by:
isPropertyDefinedin interfaceDynamicPropertyProvider
-
getQuality
public QualityCode getQuality()
Description copied from interface:QualityMonitorRetrieves the data quality code.- Specified by:
getQualityin interfaceQualityMonitor
-
getDataQuality
public int getDataQuality()
Description copied from interface:QualityMonitorFor 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:
getDataQualityin interfaceQualityMonitor
-
setDataQuality
public void setDataQuality(int value)
- Specified by:
setDataQualityin interfaceQualityMonitor
-
setQuality
public void setQuality(QualityCode value)
Description copied from interface:QualityMonitorSets the current data quality to the given value- Specified by:
setQualityin interfaceQualityMonitor
-
updateQuality
public void updateQuality(java.lang.String propName, QualityCode quality)Description copied from interface:QualityMonitorUpdates 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:
updateQualityin interfaceQualityMonitor
-
paintChildren
protected void paintChildren(java.awt.Graphics g)
- Overrides:
paintChildrenin classjavax.swing.JComponent
-
paintComponent
protected void paintComponent(java.awt.Graphics g)
- Overrides:
paintComponentin classjavax.swing.JComponent
-
getStyles
public Dataset getStyles()
- Specified by:
getStylesin interfaceStyleProvider
-
setStyles
public void setStyles(Dataset styleDS)
- Specified by:
setStylesin interfaceStyleProvider
-
startupComponent
public final void startupComponent(VisionClientContext context)
Description copied from interface:ComponentLifecycleCalled when the component is first shown.- Specified by:
startupComponentin interfaceComponentLifecycle
-
shutdownComponent
public final void shutdownComponent()
Description copied from interface:ComponentLifecycleCalled when the component is now shown anymore. Any long-running processes should be stopped. All bindings will have also been shutdown.- Specified by:
shutdownComponentin interfaceComponentLifecycle
-
getAppContext
public VisionClientContext getAppContext()
- Specified by:
getAppContextin 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
public void setToolTipText(java.lang.String text)
- Overrides:
setToolTipTextin classjavax.swing.JComponent
-
-