gui
Class JAPHtmlMultiLineLabel

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JLabel
                  extended by gui.JAPHtmlMultiLineLabel
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.SwingConstants

public class JAPHtmlMultiLineLabel
extends javax.swing.JLabel

This class provides support for labels with more than one line which can also display HTML styled text.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JLabel
javax.swing.JLabel.AccessibleJLabel
 
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
private static java.lang.String CLIENT_PROPERTY_HTML
           
private static java.lang.String CURRENT_JAVA_VENDOR
           
private static java.lang.String CURRENT_JAVA_VERSION
           
static int FONT_STYLE_BOLD
           
static int FONT_STYLE_ITALIC
           
static int FONT_STYLE_PLAIN
           
private static boolean HTML_COMPATIBILITY_MODE
           
private  boolean m_bInitialised
           
private  java.lang.String m_rawText
          Stores the HTML text displayed by this JAPHtmlMultiLineLabel without the header and the trailer.
static java.lang.String TAG_A_CLOSE
           
static java.lang.String TAG_A_OPEN
           
private static java.lang.String TAG_BODY_CLOSE
           
private static java.lang.String TAG_BODY_OPEN
           
static java.lang.String TAG_BREAK
           
private static java.lang.String TAG_HEAD_CLOSE
           
private static java.lang.String TAG_HEAD_OPEN
           
private static java.lang.String TAG_HTML_CLOSE
           
private static java.lang.String TAG_HTML_OPEN
           
static int UNLIMITED_LABEL_HEIGHT
           
 
Fields inherited from class javax.swing.JLabel
labelFor
 
Fields inherited from class javax.swing.JComponent
accessibleContext, 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
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
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
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
JAPHtmlMultiLineLabel()
          Creates a new JAPHtmlMultiLineLabel.
JAPHtmlMultiLineLabel(int a_alignment)
          Creates a new JAPHtmlMultiLineLabel.
JAPHtmlMultiLineLabel(java.lang.String a_text)
          Creates a new JAPHtmlMultiLineLabel.
JAPHtmlMultiLineLabel(java.lang.String a_text, java.awt.Font a_defaultFont)
          Creates a new JAPHtmlMultiLineLabel.
JAPHtmlMultiLineLabel(java.lang.String a_text, java.awt.Font a_defaultFont, int a_alignment)
          Creates a new JAPHtmlMultiLineLabel.
JAPHtmlMultiLineLabel(java.lang.String a_text, int a_alignment)
          Creates a new JAPHtmlMultiLineLabel.
 
Method Summary
 void cutHTMLDocument(int a_length)
           
static java.lang.String formatTextAsHTML(java.lang.String a_HTMLtext, java.awt.Font a_defaultFont)
          This method adds HTML and BODY tags to a String and overwrites existing tags of this type.
 int getHTMLDocumentLength()
          Returns the length of the HTML document in characters.
 java.lang.String getHTMLDocumentText()
          May be used to convert HTML text to unicode text.
static java.lang.String removeHTMLHEADAndBODYTags(java.lang.String a_HTMLtext)
          Removes heading and trailing HTML and BODY tags from a String if present.
private static java.lang.String removeTAG(java.lang.String a_HTMLtext, java.lang.String a_openTAG, java.lang.String a_closeTAG)
          Removes an embracing TAG from a String.
static java.lang.String removeTagsAndNewLines(java.lang.String a_text)
          Automatically removes all tags "<" and ">" and the space between and new lines that are found in a text.
 void setFont(java.awt.Font a_defaultFont)
          Changes the default font of the displayed text.
 void setFontStyle(int a_style)
           
 void setPreferredWidth(int a_width)
          Sets the preferred width of this label.
 void setText(java.lang.String a_newText)
          Changes the text displayed by the JAPHtmlMultiLineLabel.
 
Methods inherited from class javax.swing.JLabel
checkHorizontalKey, checkVerticalKey, getAccessibleContext, getDisabledIcon, getDisplayedMnemonic, getDisplayedMnemonicIndex, getHorizontalAlignment, getHorizontalTextPosition, getIcon, getIconTextGap, getLabelFor, getText, getUI, getUIClassID, getVerticalAlignment, getVerticalTextPosition, imageUpdate, paramString, setDisabledIcon, setDisplayedMnemonic, setDisplayedMnemonic, setDisplayedMnemonicIndex, setHorizontalAlignment, setHorizontalTextPosition, setIcon, setIconTextGap, setLabelFor, setUI, setVerticalAlignment, setVerticalTextPosition, updateUI
 
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, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, 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, setForeground, 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, transferFocusBackward, 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, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

FONT_STYLE_PLAIN

public static final int FONT_STYLE_PLAIN
See Also:
Constant Field Values

FONT_STYLE_ITALIC

public static final int FONT_STYLE_ITALIC
See Also:
Constant Field Values

FONT_STYLE_BOLD

public static final int FONT_STYLE_BOLD
See Also:
Constant Field Values

TAG_BREAK

public static final java.lang.String TAG_BREAK
See Also:
Constant Field Values

TAG_A_OPEN

public static final java.lang.String TAG_A_OPEN
See Also:
Constant Field Values

TAG_A_CLOSE

public static final java.lang.String TAG_A_CLOSE
See Also:
Constant Field Values

UNLIMITED_LABEL_HEIGHT

public static final int UNLIMITED_LABEL_HEIGHT
See Also:
Constant Field Values

TAG_HTML_OPEN

private static final java.lang.String TAG_HTML_OPEN
See Also:
Constant Field Values

TAG_HTML_CLOSE

private static final java.lang.String TAG_HTML_CLOSE
See Also:
Constant Field Values

TAG_BODY_OPEN

private static final java.lang.String TAG_BODY_OPEN
See Also:
Constant Field Values

TAG_BODY_CLOSE

private static final java.lang.String TAG_BODY_CLOSE
See Also:
Constant Field Values

TAG_HEAD_OPEN

private static final java.lang.String TAG_HEAD_OPEN
See Also:
Constant Field Values

TAG_HEAD_CLOSE

private static final java.lang.String TAG_HEAD_CLOSE
See Also:
Constant Field Values

CLIENT_PROPERTY_HTML

private static final java.lang.String CLIENT_PROPERTY_HTML
See Also:
Constant Field Values

CURRENT_JAVA_VENDOR

private static final java.lang.String CURRENT_JAVA_VENDOR

CURRENT_JAVA_VERSION

private static final java.lang.String CURRENT_JAVA_VERSION

HTML_COMPATIBILITY_MODE

private static final boolean HTML_COMPATIBILITY_MODE

m_bInitialised

private boolean m_bInitialised

m_rawText

private java.lang.String m_rawText
Stores the HTML text displayed by this JAPHtmlMultiLineLabel without the header and the trailer.

Constructor Detail

JAPHtmlMultiLineLabel

public JAPHtmlMultiLineLabel(java.lang.String a_text,
                             java.awt.Font a_defaultFont,
                             int a_alignment)
Creates a new JAPHtmlMultiLineLabel.

Parameters:
a_text - Any HTML 3.2 conform text, which is allowed in the body of an HTML 3.2 structure (without the leading and trailing and tags).
a_defaultFont - The font to use as the default font for the text (set in the HTML body tag). So any part of the text, which is not influenced by special modifiers is displayed with this default font. If the specified Font is BOLD, the text is also included within a tag.
a_alignment - One of the following constants defined in SwingConstants: LEFT, CENTER, RIGHT, LEADING or TRAILING.

JAPHtmlMultiLineLabel

public JAPHtmlMultiLineLabel(java.lang.String a_text,
                             java.awt.Font a_defaultFont)
Creates a new JAPHtmlMultiLineLabel.

Parameters:
a_text - Any HTML 3.2 conform text, which is allowed in the body of an HTML 3.2 structure (without the leading and trailing and tags).
a_defaultFont - The font to use as the default font for the text (set in the HTML body tag). So any part of the text, which is not influenced by special modifiers is displayed with this default font. If the specified Font is BOLD, the text is also included within a tag.

JAPHtmlMultiLineLabel

public JAPHtmlMultiLineLabel(java.lang.String a_text,
                             int a_alignment)
Creates a new JAPHtmlMultiLineLabel.

Parameters:
a_text - Any HTML 3.2 conform text, which is allowed in the body of an HTML 3.2 structure (without the leading and trailing and tags).
a_alignment - One of the following constants defined in SwingConstants: LEFT, CENTER, RIGHT, LEADING or TRAILING.

JAPHtmlMultiLineLabel

public JAPHtmlMultiLineLabel(int a_alignment)
Creates a new JAPHtmlMultiLineLabel.

Parameters:
a_alignment - One of the following constants defined in SwingConstants: LEFT, CENTER, RIGHT, LEADING or TRAILING.

JAPHtmlMultiLineLabel

public JAPHtmlMultiLineLabel(java.lang.String a_text)
Creates a new JAPHtmlMultiLineLabel.

Parameters:
a_text - Any HTML 3.2 conform text, which is allowed in the body of an HTML 3.2 structure (without the leading and trailing and tags).

JAPHtmlMultiLineLabel

public JAPHtmlMultiLineLabel()
Creates a new JAPHtmlMultiLineLabel.

Method Detail

setText

public void setText(java.lang.String a_newText)
Changes the text displayed by the JAPHtmlMultiLineLabel.

Overrides:
setText in class javax.swing.JLabel
Parameters:
a_newText - Any HTML 3.2 conform text, which is allowed in the body of an HTML 3.2 structure (without the leading and trailing and tags).

getHTMLDocumentLength

public int getHTMLDocumentLength()
Returns the length of the HTML document in characters.

Returns:
the length of the HTML document in characters

getHTMLDocumentText

public java.lang.String getHTMLDocumentText()
May be used to convert HTML text to unicode text.

Returns:
the HTML text as unicode text

cutHTMLDocument

public void cutHTMLDocument(int a_length)

setPreferredWidth

public void setPreferredWidth(int a_width)
Sets the preferred width of this label.

Parameters:
a_width - the preferred width of this label

setFontStyle

public void setFontStyle(int a_style)

setFont

public void setFont(java.awt.Font a_defaultFont)
Changes the default font of the displayed text.

Overrides:
setFont in class javax.swing.JComponent
Parameters:
a_defaultFont - The font to use as the default font for the text (set in the HTML body tag). So any part of the text, which is not influenced by special modifiers is displayed with this default font. If the specified Font is BOLD, the text is also included within a tag.

formatTextAsHTML

public static java.lang.String formatTextAsHTML(java.lang.String a_HTMLtext,
                                                java.awt.Font a_defaultFont)
This method adds HTML and BODY tags to a String and overwrites existing tags of this type.

Parameters:
a_HTMLtext - a String
a_defaultFont - a default font for the HTML text
Returns:
the String with HTML and BODY tags

removeTagsAndNewLines

public static java.lang.String removeTagsAndNewLines(java.lang.String a_text)
Automatically removes all tags "<" and ">" and the space between and new lines that are found in a text.

Parameters:
a_text - a String
Returns:
the String without tags and new lines

removeHTMLHEADAndBODYTags

public static java.lang.String removeHTMLHEADAndBODYTags(java.lang.String a_HTMLtext)
Removes heading and trailing HTML and BODY tags from a String if present.

Parameters:
a_HTMLtext - a String
Returns:
the String without heading and trailing HTML and BODY tags

removeTAG

private static java.lang.String removeTAG(java.lang.String a_HTMLtext,
                                          java.lang.String a_openTAG,
                                          java.lang.String a_closeTAG)
Removes an embracing TAG from a String.

Parameters:
a_HTMLtext - a String
a_openTAG - an HTML open tag
a_closeTAG - the corresponding HTML close TAG
Returns:
the String without the embracing tag