Package docking.widgets
Class MultiLineLabel
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
docking.widgets.MultiLineLabel
- All Implemented Interfaces:
ImageObserver,MenuContainer,Serializable,Accessible
Class to render a String that has new line characters as a multi-line
label. Calculates the resizing and centering characteristics.
Not affected by HTML formatting.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumValues for controlling vertical alignment of the textNested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanelNested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainerNested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected intstatic final intIndicator for centering each line.static final intIndicator for left alignment.protected intprotected intprotected int[]protected String[]protected intprotected intprotected intprotected intstatic final intIndicator 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_WINDOWFields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH -
Constructor Summary
ConstructorsConstructorDescriptionDefault constructor.MultiLineLabel(String label) Construct a new MultiLineLabel that is left aligned with the default width and height margins.MultiLineLabel(String label, int margin_width, int margin_height, int alignment) Construct a new MultiLineLabel. -
Method Summary
Modifier and TypeMethodDescriptionvoidThis method is invoked after this class is first created but before it can be actually displayed.final intgetLabel()Returns the label text..final intfinal intstatic voidprotected voidmeasure()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.protected voidBreaks specified label into array of lines.voidvoidsetAlignment(int a) Set alignment for text, LEFT, RIGHT, CENTER.voidSets a new font for labelvoidvoidSet a new label to display.voidSet the label text.voidsetMarginHeight(int mh) Sets the margin heightvoidsetMarginWidth(int mw) Set margin width.voidSets the vertical alignment of the text.Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUIMethods 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, updateMethods 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, validateTreeMethods 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
-
Field Details
-
LEFT
public static final int LEFTIndicator for left alignment.- See Also:
-
CENTER
public static final int CENTERIndicator for centering each line.- See Also:
-
RIGHT
public static final int RIGHTIndicator for right alignment.- See Also:
-
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 Details
-
MultiLineLabel
public MultiLineLabel()Default constructor. -
MultiLineLabel
Construct a new MultiLineLabel.- Parameters:
label- String to split up if it contains new line charactersmargin_width- width of labelmargin_height- height of labelalignment- alignment of label, LEFT, CENTER, or RIGHT
-
MultiLineLabel
Construct a new MultiLineLabel that is left aligned with the default width and height margins.- Parameters:
label- String to split up if it contains new line characters
-
-
Method Details
-
newLabel
Breaks specified label into array of lines.- Parameters:
label- String to display.
-
measure
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
Set a new label to display.- Parameters:
label- String to display
-
setLabel
Set the label text.- Parameters:
text- array of strings to display.
-
getLabel
Returns the label text..- Returns:
- the label text.
-
setFont
Sets a new font for label- Overrides:
setFontin classJComponent- Parameters:
f- Font to set label
-
setForeground
- Overrides:
setForegroundin classJComponent
-
setAlignment
public void setAlignment(int a) Set alignment for text, LEFT, RIGHT, CENTER.- Parameters:
a- the new alignment.
-
setVerticalAlignment
Sets the vertical alignment of the text. The default isMultiLineLabel.VerticalAlignment.MIDDLE.- Parameters:
alignment- the 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() -
getMarginWidth
public final int getMarginWidth() -
getMarginHeight
public final int getMarginHeight() -
addNotify
public void addNotify()This method is invoked after this class 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:
addNotifyin classJComponent
-
getPreferredSize
- Overrides:
getPreferredSizein classJComponent
-
getMinimumSize
- Overrides:
getMinimumSizein classJComponent
-
paint
- Overrides:
paintin classJComponent
-
main
-