de.esprit.appsuite.database.dbgui.field

## Class AbstractTextField<T>

- java.lang.Object
- - java.awt.Component
  - - java.awt.Container
    - - javax.swing.JComponent
      - - javax.swing.text.JTextComponent
        - - javax.swing.JTextField
          - - de.esprit.common.gui.ZTextField
            - - de.esprit.appsuite.database.dbgui.field.AbstractTextField<T>

- All Implemented Interfaces:
    Field<T>, Modifieable, Clearable, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.Scrollable, javax.swing.SwingConstants
  Direct Known Subclasses:
    AbstractCharField, AbstractNumberField

      public abstract class AbstractTextField<T>
      extends ZTextField
      implements Field<T>, Modifieable

  This is the abstract base class for all text input fields.
  Author:
    Rainer Buesch
  See Also:
    Serialized Form

- - ### Nested Class Summary

    - ### 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`

    - ### Nested classes/interfaces inherited from class java.awt.Container

      `java.awt.Container.AccessibleAWTContainer`

    - ### Nested classes/interfaces inherited from class java.awt.Component

      `java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy`

  - ### Field Summary

    - ### 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

      `accessibleContext, 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

      `BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT`

    - ### 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 java.awt.image.ImageObserver

      `ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AbstractTextField(NlsDatabaseKey nls, int chars, boolean isNotNull)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `T` | `createValue()` Not actually used
    `java.awt.Color` | `getDefaultBackground()`
    `javax.swing.JLabel` | `getJLabel()` Returns a JLabel component labeled with the translated field name.
    `java.lang.String` | `getLabel()` Returns the translated name for the field.
    `java.lang.String` | `getName()` Returns the unique name of the field.
    `NlsDatabaseKey` | `getNlsKey()` Returns the translation key used to name this Field
    `java.lang.String` | `getStringValue()` Must use the toString(Object) implementation of subclasses
    `java.awt.Component` | `getUnitComponent()` Returns the unit component for this field if one is set
    `T` | `getValue()` Returns the field value as an Object - or null if the field is empty.
    `AbstractTextField` | `getWidget()` Returns a JComponent that represents the layoutable GUI component.
    `boolean` | `inputEquals(boolean b)` Tests if the field input is equal to the given boolean value.
    `boolean` | `inputEquals(double d)` Tests if the field input is equal to the given double number.
    `boolean` | `inputEquals(int i)` Tests if the field input is equal to the given int number.
    `boolean` | `inputEquals(java.lang.Object o)` Tests if the field input is equal to the given object.
    `boolean` | `isLocked()` Tells wasCancelled the field is locked for editing.
    `boolean` | `isNotNull()` Tells wasCancelled the field requires input.
    `boolean` | `isPrimaryKey()` Tells whether this field is (or is part of) the primary key.
    `boolean` | `isRecordTypeField()` Tells whether this field defines the record type (only valid for composed persistent objects).
    `boolean` | `isStretchableX()` Tells whether this field should fill all the horizontal space in it's container.
    `boolean` | `isStretchableY()` Tells whether this field should fill all the vertical space in it's container.
    `void` | `setCheckedWidth(int chars)`
    `void` | `setColumns(int chars)`
    `protected void` | `setFieldText(java.lang.Object value)`
    `void` | `setLocked(boolean isLocked)` Locks the field for editing.
    `void` | `setModified(boolean isModified)`
    `void` | `setModifyFlag(ModifyFlag flag)` Gives the field a reference to a ModifyFlag which is set if the field was edited.
    `void` | `setNotNull(boolean isNotNull)` Sets the field to not-null.
    `void` | `setNumericInputOnly()`
    `void` | `setPrimaryKey(boolean isPk)` Tells this field to be the primary key (affects input checking).
    `void` | `setRecordTypeField(boolean isRecordTypeField)`
    `void` | `setStretchableX(boolean isStretchableX)` Tells whether this field should fill all the horizontal space in it's container.
    `void` | `setStretchableY(boolean isStretchableY)` Tells whether this field should fill all the vertical space in it's container.
    `void` | `setText(java.lang.String text)`
    `void` | `setUnitComponent(java.awt.Component comp)` Sets the unit component for this field which is placed behind the field, when the field is added to a FieldPanel
    `void` | `setUnitString(java.lang.String unit)` Sets the unit string for this field which is placed as a JLabel behind the field, when the field is added to a FieldPanel
    `void` | `setValue(NlsKey nls, java.lang.Object... args)`
    `void` | `setValue(T value)` Sets the field value to the given object.
    `void` | `setWidthChecked(boolean state)`
    `java.lang.String` | `toString()` Returns a string representation of the field typically it's unique name and it's current value.
    `java.lang.String` | `toString(java.lang.Object o)` Converts the object to a String according to the policy of the affected field component.

    - ### Methods inherited from class de.esprit.common.gui.ZTextField

      `addDocumentListener, clear, fireActionPerformed, isEmpty, isRequestFocusEnabled, removeDocumentListener, setDropEnabled, setMinimumColumns, setToolTipText`

    - ### Methods inherited from class javax.swing.JTextField

      `actionPropertyChanged, addActionListener, configurePropertiesFromAction, createActionPropertyChangeListener, createDefaultModel, getAccessibleContext, getAction, getActionListeners, getActions, getColumns, getColumnWidth, getHorizontalAlignment, getHorizontalVisibility, getPreferredSize, getScrollOffset, getUIClassID, isValidateRoot, paramString, postActionEvent, removeActionListener, scrollRectToVisible, setAction, setActionCommand, 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, getText, getToolTipText, getUI, isEditable, loadKeymap, modelToView, 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, 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, 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, getParent, getPeer, 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, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, transferFocus, transferFocusBackward, transferFocusUpCycle`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface de.esprit.appsuite.database.dbgui.field.Field

      `isEmpty, setInsertDefaultValue, toValue`

    - ### Methods inherited from interface de.esprit.common.type.Clearable

      `clear`

- - ### Constructor Detail

    - #### AbstractTextField

          public AbstractTextField(NlsDatabaseKey nls,
                           int chars,
                           boolean isNotNull)

  - ### Method Detail

    - #### getNlsKey

          public NlsDatabaseKey getNlsKey()

      Description copied from interface: `Field`
      Returns the translation key used to name this Field
      Specified by:
        `getNlsKey` in interface `Field<T>`

    - #### getDefaultBackground

          public java.awt.Color getDefaultBackground()

    - #### getName

          public java.lang.String getName()

      Description copied from interface: `Field`
      Returns the unique name of the field. Usually the name should identify a database field in the format `table.column`.
      Specified by:
        `getName` in interface `Field<T>`
      Overrides:
        `getName` in class `java.awt.Component`

    - #### getLabel

          public java.lang.String getLabel()

      Description copied from interface: `Field`
      Returns the translated name for the field. Translation is done through the class DBTranslation where a match for the field name must be found.
      Specified by:
        `getLabel` in interface `Field<T>`
      See Also:
        `Translation`

    - #### getUnitComponent

          public java.awt.Component getUnitComponent()

      Description copied from interface: `Field`
      Returns the unit component for this field if one is set
      Specified by:
        `getUnitComponent` in interface `Field<T>`
      See Also:
        `Field.setUnitComponent(Component)`

    - #### setUnitComponent

          public void setUnitComponent(java.awt.Component comp)

      Description copied from interface: `Field`
      Sets the unit component for this field which is placed behind the field, when the field is added to a FieldPanel
      Specified by:
        `setUnitComponent` in interface `Field<T>`

    - #### setUnitString

          public void setUnitString(java.lang.String unit)

      Description copied from interface: `Field`
      Sets the unit string for this field which is placed as a JLabel behind the field, when the field is added to a FieldPanel
      Specified by:
        `setUnitString` in interface `Field<T>`
      See Also:
        `Field.setUnitComponent(Component)`

    - #### setModified

          public void setModified(boolean isModified)

      Specified by:
        `setModified` in interface `Modifieable`

    - #### getWidget

          public AbstractTextField getWidget()

      Description copied from interface: `Field`
      Returns a JComponent that represents the layoutable GUI component.
      Specified by:
        `getWidget` in interface `Field<T>`

    - #### setValue

          public void setValue(NlsKey nls,
                      java.lang.Object... args)

    - #### setValue

          public void setValue(T value)

      Description copied from interface: `Field`
      Sets the field value to the given object. The implementation may be very different in different classes.
      Specified by:
        `setValue` in interface `Field<T>`

    - #### setText

          public void setText(java.lang.String text)

      Overrides:
        `setText` in class `javax.swing.text.JTextComponent`

    - #### setFieldText

          protected void setFieldText(java.lang.Object value)

    - #### createValue

          public T createValue()
                        throws InvalidFieldInputException

      Not actually used
      Specified by:
        `createValue` in interface `Field<T>`
      Throws:
        `InvalidFieldInputException` - If the input Object cannot be created due to a parsing error.

    - #### getValue

          public T getValue()

      Description copied from interface: `Field`
      Returns the field value as an Object - or null if the field is empty.
      Specified by:
        `getValue` in interface `Field<T>`

    - #### getStringValue

          public java.lang.String getStringValue()

      Must use the toString(Object) implementation of subclasses
      Specified by:
        `getStringValue` in interface `Field<T>`

    - #### toString

          public java.lang.String toString(java.lang.Object o)

      Description copied from interface: `Field`
      Converts the object to a String according to the policy of the affected field component. This is important for DecimalField and DateField which eventually use localized strings. Note that this method must return an empty string if the object cannot be parsed.
      Specified by:
        `toString` in interface `Field<T>`

    - #### getJLabel

          public javax.swing.JLabel getJLabel()

      Description copied from interface: `Field`
      Returns a JLabel component labeled with the translated field name.
      Specified by:
        `getJLabel` in interface `Field<T>`

    - #### isNotNull

          public boolean isNotNull()

      Description copied from interface: `Field`
      Tells wasCancelled the field requires input.
      Specified by:
        `isNotNull` in interface `Field<T>`

    - #### setNotNull

          public void setNotNull(boolean isNotNull)

      Description copied from interface: `Field`
      Sets the field to not-null. This causes the field to show up with a yellow background for indicating to the user that a value must be entered. If no value is entered the input check with isInputValid() will fail.
      Specified by:
        `setNotNull` in interface `Field<T>`

    - #### setLocked

          public void setLocked(boolean isLocked)

      Description copied from interface: `Field`
      Locks the field for editing.
      Specified by:
        `setLocked` in interface `Field<T>`

    - #### isLocked

          public boolean isLocked()

      Description copied from interface: `Field`
      Tells wasCancelled the field is locked for editing.
      Specified by:
        `isLocked` in interface `Field<T>`

    - #### inputEquals

          public boolean inputEquals(java.lang.Object o)

      Description copied from interface: `Field`
      Tests if the field input is equal to the given object.
      Specified by:
        `inputEquals` in interface `Field<T>`

    - #### inputEquals

          public boolean inputEquals(int i)

      Description copied from interface: `Field`
      Tests if the field input is equal to the given int number.
      Specified by:
        `inputEquals` in interface `Field<T>`

    - #### inputEquals

          public boolean inputEquals(double d)

      Description copied from interface: `Field`
      Tests if the field input is equal to the given double number.
      Specified by:
        `inputEquals` in interface `Field<T>`

    - #### inputEquals

          public boolean inputEquals(boolean b)

      Description copied from interface: `Field`
      Tests if the field input is equal to the given boolean value.
      Specified by:
        `inputEquals` in interface `Field<T>`

    - #### toString

          public java.lang.String toString()

      Description copied from interface: `Field`
      Returns a string representation of the field typically it's unique name and it's current value.
      Specified by:
        `toString` in interface `Field<T>`
      Overrides:
        `toString` in class `java.awt.Component`

    - #### setModifyFlag

          public void setModifyFlag(ModifyFlag flag)

      Description copied from interface: `Field`
      Gives the field a reference to a ModifyFlag which is set if the field was edited.
      Specified by:
        `setModifyFlag` in interface `Field<T>`

    - #### setPrimaryKey

          public void setPrimaryKey(boolean isPk)

      Description copied from interface: `Field`
      Tells this field to be the primary key (affects input checking).
      Specified by:
        `setPrimaryKey` in interface `Field<T>`

    - #### isPrimaryKey

          public boolean isPrimaryKey()

      Description copied from interface: `Field`
      Tells whether this field is (or is part of) the primary key.
      Specified by:
        `isPrimaryKey` in interface `Field<T>`

    - #### isRecordTypeField

          public boolean isRecordTypeField()

      Description copied from interface: `Field`
      Tells whether this field defines the record type (only valid for composed persistent objects).
      Specified by:
        `isRecordTypeField` in interface `Field<T>`

    - #### setRecordTypeField

          public void setRecordTypeField(boolean isRecordTypeField)

    - #### isStretchableY

          public boolean isStretchableY()

      Description copied from interface: `Field`
      Tells whether this field should fill all the vertical space in it's container.
      Specified by:
        `isStretchableY` in interface `Field<T>`

    - #### isStretchableX

          public boolean isStretchableX()

      Description copied from interface: `Field`
      Tells whether this field should fill all the horizontal space in it's container.
      Specified by:
        `isStretchableX` in interface `Field<T>`

    - #### setStretchableX

          public void setStretchableX(boolean isStretchableX)

      Description copied from interface: `Field`
      Tells whether this field should fill all the horizontal space in it's container.
      Specified by:
        `setStretchableX` in interface `Field<T>`

    - #### setStretchableY

          public void setStretchableY(boolean isStretchableY)

      Description copied from interface: `Field`
      Tells whether this field should fill all the vertical space in it's container.
      Specified by:
        `setStretchableY` in interface `Field<T>`

    - #### setNumericInputOnly

          public void setNumericInputOnly()

    - #### setCheckedWidth

          public void setCheckedWidth(int chars)

    - #### setWidthChecked

          public void setWidthChecked(boolean state)

    - #### setColumns

          public void setColumns(int chars)

      Overrides:
        `setColumns` in class `javax.swing.JTextField`

Copyright © 2014 EsprIT-Systems. All Rights Reserved.