Class GlyphLabel

  • All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

    public final class GlyphLabel
    extends javax.swing.JComponent
    A Swing component that can transform a text's individual glyphs.
    Version:
    $Revision: 1.8 $
    See Also:
    Serialized Form
    • Nested Class Summary

      • 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
      static java.lang.String PROPERTY_HEIGHT_MODE  
      static java.lang.String PROPERTY_TEXT  
      static java.lang.String PROPERTY_TIME  
      private GlyphRenderer renderer
      Refers to the renderer that paints the individual glyphs.
      • 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
    • Constructor Summary

      Constructors 
      Constructor Description
      GlyphLabel​(java.lang.String text, long duration, long glyphDelay)
      Creates a GlyphLabel for the given text, duration and delay between the individual glyphs.
      GlyphLabel​(java.lang.String text, long duration, long glyphDelay, java.awt.Color baseColor)
      Creates a GlyphLabel for the given text, duration, base color and delay between the individual glyphs.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static AnimationFunction<java.awt.Color> defaultColorFunction​(long duration, java.awt.Color baseColor)
      Creates and returns the default color function for the given duration and base color.
      static AnimationFunction<java.lang.Float> defaultScaleFunction​(long duration)
      Creates and returns the default scale function for the given duration.
      HeightMode getHeightMode()  
      java.lang.String getText()  
      long getTime()  
      void paintComponent​(java.awt.Graphics g)
      Paints the component.
      void setHeightMode​(HeightMode newHeightMode)  
      void setText​(java.lang.String newText)  
      void setTime​(long newTime)  
      • 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, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUI, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI
      • 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, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAccessibleContext, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, 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, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, 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

      • PROPERTY_HEIGHT_MODE

        public static final java.lang.String PROPERTY_HEIGHT_MODE
        See Also:
        Constant Field Values
      • renderer

        private final GlyphRenderer renderer
        Refers to the renderer that paints the individual glyphs.
    • Constructor Detail

      • GlyphLabel

        public GlyphLabel​(java.lang.String text,
                          long duration,
                          long glyphDelay)
        Creates a GlyphLabel for the given text, duration and delay between the individual glyphs.
        Parameters:
        text - the initial text
        duration - the duration of the whole animation
        glyphDelay - a delay between the animation of the individual glyphs
      • GlyphLabel

        public GlyphLabel​(java.lang.String text,
                          long duration,
                          long glyphDelay,
                          java.awt.Color baseColor)
        Creates a GlyphLabel for the given text, duration, base color and delay between the individual glyphs.
        Parameters:
        text - the initial text
        duration - the duration of the whole animation
        glyphDelay - a delay between the animation of the individual glyphs
        baseColor - the color used as a basis for the translucent glyph foreground colors
    • Method Detail

      • defaultScaleFunction

        public static AnimationFunction<java.lang.Float> defaultScaleFunction​(long duration)
        Creates and returns the default scale function for the given duration.
        Parameters:
        duration - the duration of the whole animation
        Returns:
        an animation function that maps times to glyph scales
      • defaultColorFunction

        public static AnimationFunction<java.awt.Color> defaultColorFunction​(long duration,
                                                                             java.awt.Color baseColor)
        Creates and returns the default color function for the given duration and base color.
        Parameters:
        duration - the duration of the animation
        baseColor - the color used as a basis for the translucent colors
        Returns:
        an animation function that maps times to translucent glyph colors
      • getHeightMode

        public HeightMode getHeightMode()
      • getText

        public java.lang.String getText()
      • getTime

        public long getTime()
      • setHeightMode

        public void setHeightMode​(HeightMode newHeightMode)
      • setText

        public void setText​(java.lang.String newText)
      • setTime

        public void setTime​(long newTime)
      • paintComponent

        public void paintComponent​(java.awt.Graphics g)
        Paints the component. Sets high-fidelity rendering hints, then invoke the renderer to render the glyphs.
        Overrides:
        paintComponent in class javax.swing.JComponent
        Parameters:
        g - the Graphics object to render on