cynosurex.awt
Class MultiLineLabel

java.lang.Object
  extended by java.awt.Component
      extended by cynosurex.awt.MultiLineLabel
All Implemented Interfaces:
cynosurex.internal.AuthorCommon, cynosurex.internal.CommonInterface, cynosurex.internal.CompanyCommon, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public class MultiLineLabel
extends java.awt.Component
implements cynosurex.internal.CommonInterface

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  int alignment
           
static int CENTER
           
static int LEFT
           
protected  int line_ascent
           
protected  int line_height
           
protected  int[] line_widths
           
protected  java.lang.String[] lines
           
protected  int margin_height
           
protected  int margin_width
           
protected  int max_width
           
protected  int num_lines
           
static int RIGHT
           
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface cynosurex.internal.CommonInterface
copyright, copyrightYears, notice, program, version
 
Fields inherited from interface cynosurex.internal.AuthorCommon
author, copyrightSymbol, noticeMsg, rights
 
Fields inherited from interface cynosurex.internal.CompanyCommon
company, email, website
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
MultiLineLabel(java.lang.String label)
          Constructor.
MultiLineLabel(java.lang.String label, int alignment)
          Constructor.
MultiLineLabel(java.lang.String label, int margin_width, int margin_height)
          Constructor.
MultiLineLabel(java.lang.String label, int margin_width, int margin_height, int alignment)
          Constructor.
 
Method Summary
 void addNotify()
          This method is invoked after our Canvas is first created but before it can actually be displayed.
 int getAlignment()
           
 int getMarginHeight()
           
 int getMarginWidth()
           
 java.awt.Dimension getMinimumSize()
          This method is called when the 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.
protected  void measure()
          This method figures out how the font is, and how wide each line of the label is, and how wide the widest line is.
protected  void newLabel(java.lang.String label)
          This method breaks a specified label up into an array of lines.
 void paint(java.awt.Graphics g)
          This method draws the label (applets use the same method).
 void setAlignment(int a)
          Method to set the alignment of the text.
 void setFont(java.awt.Font f)
          Method to set the font.
 void setForeground(java.awt.Color c)
          Method to set the font color.
 void setLabel(java.lang.String label)
          Method to set the message.
 void setMarginHeight(int mh)
           
 void setMarginWidth(int mw)
           
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, deliverEvent, disable, disableEvents, dispatchEvent, doLayout, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAccessibleContext, getAlignmentX, getAlignmentY, getBackground, getBounds, getBounds, getColorModel, getComponentAt, getComponentAt, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeys, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMaximumSize, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, invalidate, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusCycleRoot, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, layout, list, list, list, list, list, locate, location, lostFocus, minimumSize, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, paramString, postEvent, preferredSize, prepareImage, prepareImage, print, printAll, processComponentEvent, processEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeys, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle, update, validate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

LEFT

public static final int LEFT
See Also:
Constant Field Values

CENTER

public static final int CENTER
See Also:
Constant Field Values

RIGHT

public static final int RIGHT
See Also:
Constant Field Values

lines

protected java.lang.String[] lines

num_lines

protected int num_lines

margin_width

protected int margin_width

margin_height

protected int margin_height

line_height

protected int line_height

line_ascent

protected int line_ascent

line_widths

protected int[] line_widths

max_width

protected int max_width

alignment

protected int alignment
Constructor Detail

MultiLineLabel

public MultiLineLabel(java.lang.String label)
Constructor.


MultiLineLabel

public MultiLineLabel(java.lang.String label,
                      int alignment)
Constructor. Lets your set alignment.


MultiLineLabel

public MultiLineLabel(java.lang.String label,
                      int margin_width,
                      int margin_height)
Constructor. Lets you set the margin.


MultiLineLabel

public MultiLineLabel(java.lang.String label,
                      int margin_width,
                      int margin_height,
                      int alignment)
Constructor. Break the label up into separate lines, and save the other info.

Method Detail

newLabel

protected void newLabel(java.lang.String label)
This method breaks a specified label up into an array of lines. It uses the StringTokenizer utility class.


measure

protected void measure()
This method figures out how 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)
Method to set the message.


setFont

public void setFont(java.awt.Font f)
Method to set the font. Overrides the parent method so that we can re-measure and re-paint.

Overrides:
setFont in class java.awt.Component

setForeground

public void setForeground(java.awt.Color c)
Method to set the font color. Overrides the parent method so that we can re-paint.

Overrides:
setForeground in class java.awt.Component

setAlignment

public void setAlignment(int a)
Method to set the alignment of the text.


setMarginWidth

public void setMarginWidth(int mw)

setMarginHeight

public void setMarginHeight(int mh)

getAlignment

public int getAlignment()

getMarginWidth

public int getMarginWidth()

getMarginHeight

public int getMarginHeight()

addNotify

public void addNotify()
This method is invoked after our Canvas is first created but before it can actually be displayed. After we've 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 java.awt.Component

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 java.awt.Component

getMinimumSize

public java.awt.Dimension getMinimumSize()
This method is called when the layout manager wants to know the bare minimum amount of space we need to get by.

Overrides:
getMinimumSize in class java.awt.Component

paint

public void paint(java.awt.Graphics g)
This method draws the label (applets use the same method). Note that it handles the margins and the alignment, but that it doesn't have to worry about the color or font--the superclass takes care of setting those in the Graphics object we're passed.

Overrides:
paint in class java.awt.Component