public class CLabel
extends Canvas
If there is not enough space a CLabel uses the following strategy to fit the information into the available space:
ignores the indent in left align mode
ignores the image and the gap
shortens the text by replacing the center portion of the label with an ellipsis
shortens the text by removing the center portion of the label
IMPORTANT: This class is not intended to be subclassed.
| Constructor and Description |
|---|
CLabel(Composite parent,
int style)
Constructs a new instance of this class given its parent
and a style value describing its behavior and appearance.
|
| Modifier and Type | Method and Description |
|---|---|
protected java.lang.String |
beginShortenText(GC gc,
java.lang.String t,
int width,
int w) |
protected java.lang.String |
centerShortenText(GC gc,
java.lang.String t,
int width,
int w) |
Point |
computeSize(int wHint,
int hHint,
boolean changed) |
protected java.lang.String |
endShortenText(GC gc,
java.lang.String t,
int width,
int w) |
int |
getAlignment()
Returns the horizontal alignment.
|
int |
getBottomMargin()
Return the CLabel's bottom margin.
|
java.lang.String |
getEllipsis()
Return the CLabel's ellipsis.
|
int |
getEllipsisAligment()
Return the CLabel's ellipsis alignment.
|
Image |
getImage()
Return the CLabel's image or
null. |
int |
getLeftMargin()
Return the CLabel's left margin.
|
int |
getRightMargin()
Return the CLabel's right margin.
|
int |
getStyle() |
java.lang.String |
getText()
Return the Label's text.
|
java.lang.String |
getToolTipText() |
int |
getTopMargin()
Return the CLabel's top margin.
|
void |
setAlignment(int align)
Set the horizontal alignment of the CLabel.
|
void |
setBackground(Color color) |
void |
setBackground(Color[] colors,
int[] percents)
Specify a gradient of colours to be drawn in the background of the CLabel.
|
void |
setBackground(Color[] colors,
int[] percents,
boolean vertical)
Specify a gradient of colours to be drawn in the background of the CLabel.
|
void |
setBackground(Image image)
Set the image to be drawn in the background of the label.
|
void |
setBottomMargin(int bottomMargin)
Set the label's bottom margin, in pixels.
|
void |
setEllipsis(java.lang.String ellipsis)
Set the label's ellipsis
|
void |
setEllipsisAlignment(int ellipsisAlign)
Set the alignment of the ellipsis.
|
void |
setFont(Font font) |
void |
setImage(Image image)
Set the label's Image.
|
void |
setLeftMargin(int leftMargin)
Set the label's horizontal left margin, in pixels.
|
void |
setMargins(int leftMargin,
int topMargin,
int rightMargin,
int bottomMargin)
Set the label's margins, in pixels.
|
void |
setRightMargin(int rightMargin)
Set the label's right margin, in pixels.
|
void |
setText(java.lang.String text)
Set the label's text.
|
void |
setToolTipText(java.lang.String string) |
void |
setTopMargin(int topMargin)
Set the label's top margin, in pixels.
|
protected java.lang.String |
shortenText(GC gc,
java.lang.String t,
int width)
Shorten the given text
t so that its length doesn't exceed
the given width. |
public CLabel(Composite parent,
int style)
The style value is either one of the style constants defined in
class SWT which is applicable to instances of this
class, or must be built by bitwise OR'ing together
(that is, using the int "|" operator) two or more
of those SWT style constants. The class description
lists the style constants that are applicable to the class.
Style bits are also inherited from superclasses.
parent - a widget which will be the parent of the new instance (cannot be null)style - the style of widget to constructjava.lang.IllegalArgumentException - SWTException - SWT#LEFT,
SWT#RIGHT,
SWT#CENTER,
SWT#SHADOW_IN,
SWT#SHADOW_OUT,
SWT#SHADOW_NONE,
getStyle()public Point computeSize(int wHint,
int hHint,
boolean changed)
public int getAlignment()
public int getBottomMargin()
public java.lang.String getEllipsis()
public int getEllipsisAligment()
public Image getImage()
null.public int getLeftMargin()
public int getRightMargin()
public int getStyle()
public java.lang.String getText()
public java.lang.String getToolTipText()
public int getTopMargin()
public void setAlignment(int align)
align - the alignment style of LEFT, RIGHT or CENTERSWTException - public void setBackground(Color color)
public void setBackground(Color[] colors,
int[] percents)
For example, to draw a gradient that varies from dark blue to blue and then to white and stays white for the right half of the label, use the following call to setBackground:
clabel.setBackground(new Color[]{display.getSystemColor(SWT.COLOR_DARK_BLUE),
display.getSystemColor(SWT.COLOR_BLUE),
display.getSystemColor(SWT.COLOR_WHITE),
display.getSystemColor(SWT.COLOR_WHITE)},
new int[] {25, 50, 100});
colors - an array of Color that specifies the colors to appear in the gradient
in order of appearance from left to right; The value null
clears the background gradient; the value null can be used
inside the array of Color to specify the background color.percents - an array of integers between 0 and 100 specifying the percent of the width
of the widget at which the color should change; the size of the percents
array must be one less than the size of the colors array.SWTException - public void setBackground(Color[] colors,
int[] percents,
boolean vertical)
For example, to draw a gradient that varies from dark blue to white in the vertical, direction use the following call to setBackground:
clabel.setBackground(new Color[]{display.getSystemColor(SWT.COLOR_DARK_BLUE),
display.getSystemColor(SWT.COLOR_WHITE)},
new int[] {100}, true);
colors - an array of Color that specifies the colors to appear in the gradient
in order of appearance from left/top to right/bottom; The value null
clears the background gradient; the value null can be used
inside the array of Color to specify the background color.percents - an array of integers between 0 and 100 specifying the percent of the width/height
of the widget at which the color should change; the size of the percents
array must be one less than the size of the colors array.vertical - indicate the direction of the gradient. True is vertical and false is horizontal.SWTException - public void setBackground(Image image)
image - the image to be drawn in the backgroundSWTException - public void setBottomMargin(int bottomMargin)
bottomMargin - the bottom margin of the label, which must be equal to or greater than zeroSWTException - public void setEllipsis(java.lang.String ellipsis)
ellipsis - the ellipsis to use instead of the DEFAULT_ELLIPSISSWTException - public void setEllipsisAlignment(int ellipsisAlign)
Use the values LEFT, CENTER, RIGHT, BEGINNING or END to align the ellipsis in the text.
BEGINNING and END are mapped to LEFT and RIGHT according to the current LEFT_TO_RIGHT and RIGHT_TO_LEFT style.
align - the alignment style of LEFT, RIGHT, CENTER, BEGINNING or ENDSWTException - public void setFont(Font font)
public void setImage(Image image)
null clears it.image - the image to be displayed in the label or nullSWTException - public void setLeftMargin(int leftMargin)
leftMargin - the left margin of the label, which must be equal to or greater than zeroSWTException - public void setMargins(int leftMargin,
int topMargin,
int rightMargin,
int bottomMargin)
leftMargin - the left margin.topMargin - the top margin.rightMargin - the right margin.bottomMargin - the bottom margin.SWTException - public void setRightMargin(int rightMargin)
rightMargin - the right margin of the label, which must be equal to or greater than zeroSWTException - public void setText(java.lang.String text)
null clears it.
Mnemonics are indicated by an '&' that causes the next character to be the mnemonic. When the user presses a key sequence that matches the mnemonic, focus is assigned to the control that follows the label. On most platforms, the mnemonic appears underlined but may be emphasised in a platform specific manner. The mnemonic indicator character '&' can be escaped by doubling it in the string, causing a single '&' to be displayed.
text - the text to be displayed in the label or nullSWTException - public void setToolTipText(java.lang.String string)
public void setTopMargin(int topMargin)
topMargin - the top margin of the label, which must be equal to or greater than zeroSWTException - protected java.lang.String shortenText(GC gc,
java.lang.String t,
int width)
t so that its length doesn't exceed
the given width. The default implementation replaces characters in the
center of the original string with an ellipsis ("...").
Override if you need a different strategy.gc - the gc to use for text measurementt - the text to shortenwidth - the width to shorten the text to, in pixelsprotected java.lang.String beginShortenText(GC gc,
java.lang.String t,
int width,
int w)
protected java.lang.String endShortenText(GC gc,
java.lang.String t,
int width,
int w)
protected java.lang.String centerShortenText(GC gc,
java.lang.String t,
int width,
int w)
Copyright (c) IBH SYSTEMS GmbH and others 2010, 2013.
All rights reserved. This program and the accompanying materials
are made available under the terms of the
Eclipse Public License v1.0