| javax.swing.JComponent javax.swing.JLabel com.jidesoft.swing.StyledLabel
All known Subclasses: com.jidesoft.tree.StyledTreeCellRenderer, com.jidesoft.list.StyledListCellRenderer, com.jidesoft.swing.ClickThroughStyledLabel,
StyledLabel | public class StyledLabel extends JLabel (Code) | | StyledLabel is a special JLabel which can display text in different styles.
It is a component between JLabel and JTextPane. JLabel is simple, fast but has limited features.
For example, you can't use different color to draw the text. You may argue JLabel can use HTML
tag to display text in different colors. However there are two main reasons to use StyledLabel.
First of all, StyledLabel is very fast and almost as fast as JLabel with plain text. HTML JLabel is very slow.
You can see StyledLabelPerformanceDemo.java in examples\B15. StyledLabel folder to see a performace test of HTML JLabel
and StyledLabel.
HTML JLabel is also buggy. See bug report at http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4373575.
Sun claimed it is fixed but it is not as another user pointed it out at the end. If you run the test case provided by original submitter, you
will immediately notice the tree node disappeared when you click on the tree nodes.
This bug is actually one of the main reasons we decided to create StyledLabel.
JTextPane is powerful and can display text in different color. But in the cases
like cell renderer, JTextPane is obviously an overkill.
StyledLabel sits between JLabel and JTextPane and provides a very simple and fast way to
display text in different color and style. It can also support decorations using all kinds of line styles.
All the methods on JLabel still work as before. The methods added in StyledLabel are several methods for StyleRange, such as
StyledLabel.setStyleRange(StyleRange) ,
StyledLabel.setStyleRanges(StyleRange[]) ,
StyledLabel.clearStyleRange(StyleRange) , and
StyledLabel.clearStyleRanges() .
This is one thing about StyleRange that you should be aware of, which could be considered as
a future enhancement item, is that the StyleRanges can't overlap with each other.
For example, if you defined a StyleRange that covers from index 0 to index 3,
you can't define any other StyleRange that overlaps with the first one.
If you do so, the second StyleRange will be ignored.
We borrowed some ideas from SWT's StyledText when we designed StyledLabel, especially StyleRange concept.
Saying that, the features of the two components are not exactly the same since the purpose of the
two components are quite different.
|
PROPERTY_IGNORE_COLOR_SETTINGS | final public static String PROPERTY_IGNORE_COLOR_SETTINGS(Code) | | |
PROPERTY_STYLE_RANGE | final public static String PROPERTY_STYLE_RANGE(Code) | | |
StyledLabel | public StyledLabel()(Code) | | |
StyledLabel | public StyledLabel(Icon image, int horizontalAlignment)(Code) | | |
StyledLabel | public StyledLabel(String text, int horizontalAlignment)(Code) | | |
StyledLabel | public StyledLabel(String text, Icon icon, int horizontalAlignment)(Code) | | |
addStyleRange | public void addStyleRange(StyleRange styleRange)(Code) | | Adds a StyleRange into this StyledLabel .
Parameters: styleRange - the new StyleRange. |
addStyleRanges | public void addStyleRanges(StyleRange[] styleRanges)(Code) | | Adds a list of StyleRanges into this StyledLabel .
Parameters: styleRanges - an array of StyleRanges. |
clearStyleRange | public void clearStyleRange(StyleRange styleRange)(Code) | | Removes the StyleRange.
Parameters: styleRange - the StyleRange to be removed. |
clearStyleRanges | public void clearStyleRanges()(Code) | | Clears all the StyleRanges.
|
getStyleRanges | public StyleRange[] getStyleRanges()(Code) | | Gets the array of StyledText.
the array of StyledText. |
isIgnoreColorSettings | public boolean isIgnoreColorSettings()(Code) | | StyleRange could define color for the text and lines. However
when StyledLabel is used in cell renderer, the color could be conflict with
selection color. So usually when it is used as cell renderer, the color defined in StyleRange should be
ignored when cell is selected. If so, the foreground is used to paint all text and lines.
true if the color defined by StyleRange should be ignored. |
setIgnoreColorSettings | public void setIgnoreColorSettings(boolean ignoreColorSettings)(Code) | | Sets if the color defined by StyleRange should be ignored.
This flag is used when StyledLabel is used as a selected cell renderer.
Since the selection usually has it own unique selection background and foreground,
the color setting set on this StyledLabel could be unreadable on the selection background,
it'd better if we don't use any color settings in this case.
Parameters: ignoreColorSettings - true or false. |
setStyleRanges | public void setStyleRanges(StyleRange[] styleRanges)(Code) | | Clears all the old StyleRanges and adds a list of StyleRanges into this StyledLabel .
Parameters: styleRanges - set the StyleRanges. |
updateUI | public void updateUI()(Code) | | Resets the UI property to a value from the current look and
feel.
See Also: JComponent.updateUI |
Methods inherited from javax.swing.JComponent | public void addAncestorListener(AncestorListener listener)(Code)(Java Doc) public void addNotify()(Code)(Java Doc) public synchronized void addVetoableChangeListener(VetoableChangeListener listener)(Code)(Java Doc) public void computeVisibleRect(Rectangle visibleRect)(Code)(Java Doc) public boolean contains(int x, int y)(Code)(Java Doc) public JToolTip createToolTip()(Code)(Java Doc) public void disable()(Code)(Java Doc) public void enable()(Code)(Java Doc) public void firePropertyChange(String propertyName, boolean oldValue, boolean newValue)(Code)(Java Doc) public void firePropertyChange(String propertyName, int oldValue, int newValue)(Code)(Java Doc) public void firePropertyChange(String propertyName, char oldValue, char newValue)(Code)(Java Doc) protected void fireVetoableChange(String propertyName, Object oldValue, Object newValue) throws java.beans.PropertyVetoException(Code)(Java Doc) public AccessibleContext getAccessibleContext()(Code)(Java Doc) public ActionListener getActionForKeyStroke(KeyStroke aKeyStroke)(Code)(Java Doc) final public ActionMap getActionMap()(Code)(Java Doc) public float getAlignmentX()(Code)(Java Doc) public float getAlignmentY()(Code)(Java Doc) public AncestorListener[] getAncestorListeners()(Code)(Java Doc) public boolean getAutoscrolls()(Code)(Java Doc) public int getBaseline(int width, int height)(Code)(Java Doc) public BaselineResizeBehavior getBaselineResizeBehavior()(Code)(Java Doc) public Border getBorder()(Code)(Java Doc) public Rectangle getBounds(Rectangle rv)(Code)(Java Doc) final public Object getClientProperty(Object key)(Code)(Java Doc) protected Graphics getComponentGraphics(Graphics g)(Code)(Java Doc) public JPopupMenu getComponentPopupMenu()(Code)(Java Doc) public int getConditionForKeyStroke(KeyStroke aKeyStroke)(Code)(Java Doc) public int getDebugGraphicsOptions()(Code)(Java Doc) public static Locale getDefaultLocale()(Code)(Java Doc) public FontMetrics getFontMetrics(Font font)(Code)(Java Doc) public Graphics getGraphics()(Code)(Java Doc) public int getHeight()(Code)(Java Doc) public boolean getInheritsPopupMenu()(Code)(Java Doc) final public InputMap getInputMap(int condition)(Code)(Java Doc) final public InputMap getInputMap()(Code)(Java Doc) public InputVerifier getInputVerifier()(Code)(Java Doc) public Insets getInsets()(Code)(Java Doc) public Insets getInsets(Insets insets)(Code)(Java Doc) public T[] getListeners(Class<T> listenerType)(Code)(Java Doc) public Point getLocation(Point rv)(Code)(Java Doc) public Dimension getMaximumSize()(Code)(Java Doc) public Dimension getMinimumSize()(Code)(Java Doc) public Component getNextFocusableComponent()(Code)(Java Doc) public Point getPopupLocation(MouseEvent event)(Code)(Java Doc) public Dimension getPreferredSize()(Code)(Java Doc) public KeyStroke[] getRegisteredKeyStrokes()(Code)(Java Doc) public JRootPane getRootPane()(Code)(Java Doc) public Dimension getSize(Dimension rv)(Code)(Java Doc) public Point getToolTipLocation(MouseEvent event)(Code)(Java Doc) public String getToolTipText()(Code)(Java Doc) public String getToolTipText(MouseEvent event)(Code)(Java Doc) public Container getTopLevelAncestor()(Code)(Java Doc) public TransferHandler getTransferHandler()(Code)(Java Doc) public String getUIClassID()(Code)(Java Doc) public boolean getVerifyInputWhenFocusTarget()(Code)(Java Doc) public synchronized VetoableChangeListener[] getVetoableChangeListeners()(Code)(Java Doc) public Rectangle getVisibleRect()(Code)(Java Doc) public int getWidth()(Code)(Java Doc) public int getX()(Code)(Java Doc) public int getY()(Code)(Java Doc) public void grabFocus()(Code)(Java Doc) public boolean isDoubleBuffered()(Code)(Java Doc) public static boolean isLightweightComponent(Component c)(Code)(Java Doc) public boolean isManagingFocus()(Code)(Java Doc) public boolean isOpaque()(Code)(Java Doc) public boolean isOptimizedDrawingEnabled()(Code)(Java Doc) final public boolean isPaintingForPrint()(Code)(Java Doc) public boolean isPaintingTile()(Code)(Java Doc) public boolean isRequestFocusEnabled()(Code)(Java Doc) public boolean isValidateRoot()(Code)(Java Doc) public void paint(Graphics g)(Code)(Java Doc) protected void paintBorder(Graphics g)(Code)(Java Doc) protected void paintChildren(Graphics g)(Code)(Java Doc) protected void paintComponent(Graphics g)(Code)(Java Doc) public void paintImmediately(int x, int y, int w, int h)(Code)(Java Doc) public void paintImmediately(Rectangle r)(Code)(Java Doc) protected String paramString()(Code)(Java Doc) public void print(Graphics g)(Code)(Java Doc) public void printAll(Graphics g)(Code)(Java Doc) protected void printBorder(Graphics g)(Code)(Java Doc) protected void printChildren(Graphics g)(Code)(Java Doc) protected void printComponent(Graphics g)(Code)(Java Doc) protected void processComponentKeyEvent(KeyEvent e)(Code)(Java Doc) protected boolean processKeyBinding(KeyStroke ks, KeyEvent e, int condition, boolean pressed)(Code)(Java Doc) protected void processKeyEvent(KeyEvent e)(Code)(Java Doc) protected void processMouseEvent(MouseEvent e)(Code)(Java Doc) protected void processMouseMotionEvent(MouseEvent e)(Code)(Java Doc) final public void putClientProperty(Object key, Object value)(Code)(Java Doc) public void registerKeyboardAction(ActionListener anAction, String aCommand, KeyStroke aKeyStroke, int aCondition)(Code)(Java Doc) public void registerKeyboardAction(ActionListener anAction, KeyStroke aKeyStroke, int aCondition)(Code)(Java Doc) public void removeAncestorListener(AncestorListener listener)(Code)(Java Doc) public void removeNotify()(Code)(Java Doc) public synchronized void removeVetoableChangeListener(VetoableChangeListener listener)(Code)(Java Doc) public void repaint(long tm, int x, int y, int width, int height)(Code)(Java Doc) public void repaint(Rectangle r)(Code)(Java Doc) public boolean requestDefaultFocus()(Code)(Java Doc) public void requestFocus()(Code)(Java Doc) public boolean requestFocus(boolean temporary)(Code)(Java Doc) public boolean requestFocusInWindow()(Code)(Java Doc) protected boolean requestFocusInWindow(boolean temporary)(Code)(Java Doc) public void resetKeyboardActions()(Code)(Java Doc) public void reshape(int x, int y, int w, int h)(Code)(Java Doc) public void revalidate()(Code)(Java Doc) public void scrollRectToVisible(Rectangle aRect)(Code)(Java Doc) final public void setActionMap(ActionMap am)(Code)(Java Doc) public void setAlignmentX(float alignmentX)(Code)(Java Doc) public void setAlignmentY(float alignmentY)(Code)(Java Doc) public void setAutoscrolls(boolean autoscrolls)(Code)(Java Doc) public void setBackground(Color bg)(Code)(Java Doc) public void setBorder(Border border)(Code)(Java Doc) public void setComponentPopupMenu(JPopupMenu popup)(Code)(Java Doc) public void setDebugGraphicsOptions(int debugOptions)(Code)(Java Doc) public static void setDefaultLocale(Locale l)(Code)(Java Doc) public void setDoubleBuffered(boolean aFlag)(Code)(Java Doc) public void setEnabled(boolean enabled)(Code)(Java Doc) public void setFocusTraversalKeys(int id, Set<? extends AWTKeyStroke> keystrokes)(Code)(Java Doc) public void setFont(Font font)(Code)(Java Doc) public void setForeground(Color fg)(Code)(Java Doc) public void setInheritsPopupMenu(boolean value)(Code)(Java Doc) final public void setInputMap(int condition, InputMap map)(Code)(Java Doc) public void setInputVerifier(InputVerifier inputVerifier)(Code)(Java Doc) public void setMaximumSize(Dimension maximumSize)(Code)(Java Doc) public void setMinimumSize(Dimension minimumSize)(Code)(Java Doc) public void setNextFocusableComponent(Component aComponent)(Code)(Java Doc) public void setOpaque(boolean isOpaque)(Code)(Java Doc) public void setPreferredSize(Dimension preferredSize)(Code)(Java Doc) public void setRequestFocusEnabled(boolean requestFocusEnabled)(Code)(Java Doc) public void setToolTipText(String text)(Code)(Java Doc) public void setTransferHandler(TransferHandler newHandler)(Code)(Java Doc) protected void setUI(ComponentUI newUI)(Code)(Java Doc) public void setVerifyInputWhenFocusTarget(boolean verifyInputWhenFocusTarget)(Code)(Java Doc) public void setVisible(boolean aFlag)(Code)(Java Doc) public void unregisterKeyboardAction(KeyStroke aKeyStroke)(Code)(Java Doc) public void update(Graphics g)(Code)(Java Doc) public void updateUI()(Code)(Java Doc)
|
|
|