wyvern.common.util
Class ColorTextArea

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjava.awt.Panel
              extended bywyvern.common.util.ColorTextArea
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public class ColorTextArea
extends java.awt.Panel

A simple replacement for java.awt.TextArea that can do colored text. Only handles append, not insert. Only supports a single font (size and style) for the entire document. Used by the handheld clients.

Version:
1.0, Sep 19, 2002
Author:
Steve Yegge
See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class java.awt.Panel
java.awt.Panel.AccessibleAWTPanel
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class java.awt.Component
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
ColorTextArea(java.awt.Frame parent)
          Constructs a new ColorTextArea
 
Method Summary
 void addNotify()
          Notified when we're onscreen.
 void addScrollbar()
          Shows the scrollbar after having enough lines of text.
 void append(java.lang.String text)
          Appends a string in black.
 void append(java.lang.String text, java.awt.Color color)
          Appends text in the specified color.
static void appendStuff(ColorTextArea pane)
          Appends a bunch of test lines.
static void debug(java.lang.String msg)
          Prints debugging message.
 TextDisplay getDisplay()
          Returns the display, e.g. for adding mouse listeners.
 java.awt.Scrollbar getScrollbar()
          Returns the scrollbar.
static void main(java.lang.String[] args)
          Tests it.
static java.awt.Color randomColor()
          Random color.
static java.lang.String randomLine()
          Creates random text.
static int randomValue(int min, int max)
          Returns a random int value in the specified range.
 void resetScrollbar()
          The display has rewrapped its lines, so redo the scrollbar range.
 void scrollToBottom()
          Scrolls to bottom of pane.
 void setAutoScroll(boolean scroll)
          Sets whether we want to scroll to bottom on appends.
 void setBackground(java.awt.Color color)
          Sets background color.
 void setBackgroundImage(java.awt.Image img)
          Sets image to draw behind the text.
 void setFont(java.awt.Font f)
          Sets a new font, re-wrapping the display lines.
 void setMaxLines(int lines)
          Sets the maximum number of lines (before wrapping) that we'll display onscreen.
 void setText(java.lang.String text)
          Replaces the text in the pane with the passed string.
 void updateScrollPosition()
          Re-reads the scrollbar value and redraws the screen.
 
Methods inherited from class java.awt.Panel
getAccessibleContext
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getInsets, getLayout, getListeners, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, paramString, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setLayout, transferFocusBackward, transferFocusDownCycle, update, 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, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isOpaque, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ColorTextArea

public ColorTextArea(java.awt.Frame parent)
Constructs a new ColorTextArea

Method Detail

addScrollbar

public void addScrollbar()
Shows the scrollbar after having enough lines of text.


addNotify

public void addNotify()
Notified when we're onscreen.


getDisplay

public TextDisplay getDisplay()
Returns the display, e.g. for adding mouse listeners.


setFont

public void setFont(java.awt.Font f)
Sets a new font, re-wrapping the display lines.


setBackground

public void setBackground(java.awt.Color color)
Sets background color.


setBackgroundImage

public void setBackgroundImage(java.awt.Image img)
Sets image to draw behind the text.


append

public void append(java.lang.String text)
Appends a string in black.


append

public void append(java.lang.String text,
                   java.awt.Color color)
Appends text in the specified color.


setText

public void setText(java.lang.String text)
Replaces the text in the pane with the passed string.


scrollToBottom

public void scrollToBottom()
Scrolls to bottom of pane.


setAutoScroll

public void setAutoScroll(boolean scroll)
Sets whether we want to scroll to bottom on appends.


setMaxLines

public void setMaxLines(int lines)
Sets the maximum number of lines (before wrapping) that we'll display onscreen.


resetScrollbar

public void resetScrollbar()
The display has rewrapped its lines, so redo the scrollbar range.


updateScrollPosition

public void updateScrollPosition()
Re-reads the scrollbar value and redraws the screen.


getScrollbar

public java.awt.Scrollbar getScrollbar()
Returns the scrollbar.


main

public static void main(java.lang.String[] args)
Tests it.


appendStuff

public static void appendStuff(ColorTextArea pane)
Appends a bunch of test lines.


randomColor

public static java.awt.Color randomColor()
Random color.


randomLine

public static java.lang.String randomLine()
Creates random text.


debug

public static void debug(java.lang.String msg)
Prints debugging message.


randomValue

public static int randomValue(int min,
                              int max)
Returns a random int value in the specified range.

Parameters:
min - the min value (inclusive)
max - the max value (inclusive)