Class MultiLineLabel

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

    public class MultiLineLabel
    extends javax.swing.JPanel
    Class to render a String that has new line characters as a multiline label. Calculates the resizing and centering characteristics.
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class javax.swing.JPanel

        javax.swing.JPanel.AccessibleJPanel
      • 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 
      ChangeModifier and Type Field Description
      NEWprotected int alignment  
      static int CENTER
      Indicator for centering each line.
      static int LEFT
      Indicator for left alignment.
      NEWprotected int line_ascent  
      NEWprotected int line_height  
      NEWprotected int[] line_widths  
      NEWprotected java.lang.String[] lines  
      NEWprotected int margin_height  
      NEWprotected int margin_width  
      NEWprotected int max_width  
      NEWprotected int num_lines  
      static int RIGHT
      Indicator for right alignment.
      • 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 
      ChangeConstructor Description
      MultiLineLabel()
      Default constructor.
      MultiLineLabel​(java.lang.String label)
      Construct a new MultiLineLabel that is left aligned with the default width and height margins.
      MultiLineLabel​(java.lang.String label, int margin_width, int margin_height, int alignment)
      Construct a new MultiLineLabel.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      ChangeModifier and Type Method Description
      void addNotify()
      This method is invoked after Canvas is first created but before it can be actually displayed.
      int getAlignment()
      Get alignment for text, LEFT, CENTER, RIGHT.
      java.lang.String getLabel()
      Get the label text.
      int getMarginHeight()
      Get margin height.
      int getMarginWidth()
      Get margin width.
      java.awt.Dimension getMinimumSize()
      This method is called when layout manager wants to know the bare minimum amount of space we need to get by.
      java.awt.Dimension getPreferredSize()
      This method is called by a layout manager when it wants to know how big we'd like to be
      static void main​(java.lang.String[] args)
      Simple test for the MultiLineLabel class.
      NEWprotected void measure()
      This method figures out how large the font is, and how wide each line of the label is, and how wide the widest line is.
      NEWprotected void newLabel​(java.lang.String label)
      breaks specified label into array of lines.
      void paint​(java.awt.Graphics g)
      This method draws label (applets use same method).
      void setAlignment​(int a)
      Set alignment for text, LEFT, RIGHT, CENTER.
      void setFont​(java.awt.Font f)
      Sets a new font for label
      void setForeground​(java.awt.Color c)
      Sets a new color for Canvas
      void setLabel​(java.lang.String label)
      Set a new label for JPanel
      void setLabel​(java.lang.String[] text)
      Set the label text.
      void setMarginHeight​(int mh)
      Sets the margin height
      void setMarginWidth​(int mw)
      Set margin width.
      • Methods inherited from class javax.swing.JPanel

        getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
      • Methods inherited from class javax.swing.JComponent

        addAncestorListener, 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, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, 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, 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, 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, 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

      • CENTER

        public static final int CENTER
        Indicator for centering each line.
        See Also:
        Constant Field Values
      • lines NEW

        protected java.lang.String[] lines
      • num_lines NEW

        protected int num_lines
      • margin_width NEW

        protected int margin_width
      • margin_height NEW

        protected int margin_height
      • line_height NEW

        protected int line_height
      • line_ascent NEW

        protected int line_ascent
      • line_widths NEW

        protected int[] line_widths
      • max_width NEW

        protected int max_width
      • alignment NEW

        protected int alignment

Constructor Detail

  • Method Detail

    • newLabel NEW

      protected void newLabel​(java.lang.String label)
      breaks specified label into array of lines.
      Parameters:
      label - String to display in canvas.
    • measure NEW

      protected void measure()
      This method figures out how large the font is, and how wide each line of the label is, and how wide the widest line is.
    • setLabel

      public void setLabel​(java.lang.String label)
      Set a new label for JPanel
      Parameters:
      label - String to display in canvas
    • setLabel

      public void setLabel​(java.lang.String[] text)
      Set the label text.
      Parameters:
      text - array of strings to display.
    • getLabel

      public java.lang.String getLabel()
      Get the label text.
    • setFont

      public void setFont​(java.awt.Font f)
      Sets a new font for label
      Overrides:
      setFont in class javax.swing.JComponent
      Parameters:
      f - Font to set label
    • setForeground

      public void setForeground​(java.awt.Color c)
      Sets a new color for Canvas
      Overrides:
      setForeground in class javax.swing.JComponent
      Parameters:
      c - Color to display in canvas
    • setAlignment

      public void setAlignment​(int a)
      Set alignment for text, LEFT, RIGHT, CENTER.
      Parameters:
      a - the new alignment.
    • setMarginWidth

      public void setMarginWidth​(int mw)
      Set margin width.
      Parameters:
      mw - the new margin width.
    • setMarginHeight

      public void setMarginHeight​(int mh)
      Sets the margin height
      Parameters:
      mh - the new margin height.
    • getAlignment

      public final int getAlignment()
      Get alignment for text, LEFT, CENTER, RIGHT.
    • getMarginWidth

      public final int getMarginWidth()
      Get margin width.
    • getMarginHeight

      public final int getMarginHeight()
      Get margin height.
    • addNotify

      public void addNotify()
      This method is invoked after Canvas is first created but before it can be actually displayed. After we have invoked our superclass's addNotify() method, we have font metrics and can successfully call measure() to figure out how big the label is.
      Overrides:
      addNotify in class javax.swing.JComponent
    • getPreferredSize

      public java.awt.Dimension getPreferredSize()
      This method is called by a layout manager when it wants to know how big we'd like to be
      Overrides:
      getPreferredSize in class javax.swing.JComponent
    • getMinimumSize

      public java.awt.Dimension getMinimumSize()
      This method is called when layout manager wants to know the bare minimum amount of space we need to get by.
      Overrides:
      getMinimumSize in class javax.swing.JComponent
    • paint

      public void paint​(java.awt.Graphics g)
      This method draws label (applets use same method). Note that it handles the margins and the alignment, but that is does not have to worry about the color or font -- the superclass takes care of setting those in the Graphics object we've passed.
      Overrides:
      paint in class javax.swing.JComponent
      Parameters:
      g - the graphics context to paint with.
    • main

      public static void main​(java.lang.String[] args)
      Simple test for the MultiLineLabel class.
      Parameters:
      args - not used