Class JPlaceholderTextField

  • All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.Scrollable, javax.swing.SwingConstants

    public class JPlaceholderTextField
    extends javax.swing.JTextField
    Class offering a "placeholder" text similar to HTML input.
    See Also:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      protected static class  JPlaceholderTextField.RecolorLineBorder
      Line border with changeable color
      • 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 
      Modifier and Type Field Description
      protected boolean activeplaceholder
      Flag if the placeholder is active
      protected javax.swing.Timer animtimer
      Animation timer.
      protected JPlaceholderTextField.RecolorLineBorder border
      Glow border for broken UIs like GTK.
      protected javax.swing.event.DocumentListener doclistener
      Document listener to intercept edits when in placeholder mode.
      protected java.awt.Color foregroundcolor
      Regular foreground color.
      protected javax.swing.text.Highlighter highlighter
      The default highlighter to exchange with null when placeholder is active.
      protected java.awt.Color invalidcolor
      Color for invalid field.
      protected java.awt.Color origcolor
      Original color during animation.
      protected java.lang.String placeholder
      The placeholder text.
      protected java.awt.Color placeholdercolor
      Color of the placeholder.
      • 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
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void activatePlaceholder()
      Activates the placeholder.
      protected void deactivatePlaceholder()
      Deactivates the placeholder.
      java.awt.Color getNonPlaceholderForeground()
      Gets the foreground color that is not the placeholder color (since getForeground() must be overwritten).
      java.lang.String getPlaceholder()
      Gets the placeholder.
      java.awt.Color getPlaceholderColor()
      Gets the placeholder color.
      java.lang.String getText()  
      void setForeground​(java.awt.Color fg)  
      void setInvalidColor​(java.awt.Color invalidcolor)
      Sets color of invalid field.
      void setNonPlaceholderText​(java.lang.String t)
      Method for manually setting the text to a value, use instead of setText().
      void setPlaceholder​(java.lang.String placeholder)
      Sets the placeholder.
      void setPlaceholderColor​(java.awt.Color placeholdercolor)
      Sets the placeholder color.
      void showInvalid()
      Highlights an invalid field.
      void showInvalid​(java.lang.String error)
      Highlights an invalid field.
      • 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, 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, 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, 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, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, 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
    • Field Detail

      • activeplaceholder

        protected boolean activeplaceholder
        Flag if the placeholder is active
      • placeholder

        protected java.lang.String placeholder
        The placeholder text.
      • placeholdercolor

        protected java.awt.Color placeholdercolor
        Color of the placeholder.
      • foregroundcolor

        protected java.awt.Color foregroundcolor
        Regular foreground color.
      • animtimer

        protected javax.swing.Timer animtimer
        Animation timer.
      • origcolor

        protected java.awt.Color origcolor
        Original color during animation.
      • invalidcolor

        protected java.awt.Color invalidcolor
        Color for invalid field.
      • doclistener

        protected javax.swing.event.DocumentListener doclistener
        Document listener to intercept edits when in placeholder mode.
      • highlighter

        protected javax.swing.text.Highlighter highlighter
        The default highlighter to exchange with null when placeholder is active.
    • Constructor Detail

      • JPlaceholderTextField

        public JPlaceholderTextField()
        Creates the field.
    • Method Detail

      • getPlaceholder

        public java.lang.String getPlaceholder()
        Gets the placeholder.
        Returns:
        The placeholder.
      • setPlaceholder

        public void setPlaceholder​(java.lang.String placeholder)
        Sets the placeholder.
        Parameters:
        placeholder - The placeholder.
      • getPlaceholderColor

        public java.awt.Color getPlaceholderColor()
        Gets the placeholder color.
        Returns:
        The placeholder color.
      • getNonPlaceholderForeground

        public java.awt.Color getNonPlaceholderForeground()
        Gets the foreground color that is not the placeholder color (since getForeground() must be overwritten).
      • setForeground

        public void setForeground​(java.awt.Color fg)
        Overrides:
        setForeground in class javax.swing.JComponent
      • showInvalid

        public void showInvalid()
        Highlights an invalid field.
      • showInvalid

        public void showInvalid​(java.lang.String error)
        Highlights an invalid field.
      • setInvalidColor

        public void setInvalidColor​(java.awt.Color invalidcolor)
        Sets color of invalid field.
        Parameters:
        invalidcolor - The color.
      • getText

        public java.lang.String getText()
        Overrides:
        getText in class javax.swing.text.JTextComponent
      • setNonPlaceholderText

        public void setNonPlaceholderText​(java.lang.String t)
        Method for manually setting the text to a value, use instead of setText().
        Parameters:
        t - The text.
      • setPlaceholderColor

        public void setPlaceholderColor​(java.awt.Color placeholdercolor)
        Sets the placeholder color.
        Parameters:
        placeholdercolor - The placeholder color.
      • activatePlaceholder

        protected void activatePlaceholder()
        Activates the placeholder.
      • deactivatePlaceholder

        protected void deactivatePlaceholder()
        Deactivates the placeholder.