📄 legenditem.java
字号:
if (fillPaint == null) {
throw new IllegalArgumentException("Null 'fillPaint' argument.");
}
if (lineStroke == null) {
throw new IllegalArgumentException("Null 'lineStroke' argument.");
}
if (outlinePaint == null) {
throw new IllegalArgumentException("Null 'outlinePaint' argument.");
}
if (outlineStroke == null) {
throw new IllegalArgumentException(
"Null 'outlineStroke' argument.");
}
this.label = label;
this.attributedLabel = null;
this.description = description;
this.shapeVisible = shapeVisible;
this.shape = shape;
this.shapeFilled = shapeFilled;
this.fillPaint = fillPaint;
this.fillPaintTransformer = new StandardGradientPaintTransformer();
this.shapeOutlineVisible = shapeOutlineVisible;
this.outlinePaint = outlinePaint;
this.outlineStroke = outlineStroke;
this.lineVisible = lineVisible;
this.line = line;
this.lineStroke = lineStroke;
this.linePaint = linePaint;
this.toolTipText = toolTipText;
this.urlText = urlText;
}
/**
* Creates a legend item with a filled shape. The shape is not outlined,
* and no line is visible.
*
* @param label the label (<code>null</code> not permitted).
* @param description the description (<code>null</code> permitted).
* @param toolTipText the tool tip text (<code>null</code> permitted).
* @param urlText the URL text (<code>null</code> permitted).
* @param shape the shape (<code>null</code> not permitted).
* @param fillPaint the paint used to fill the shape (<code>null</code>
* not permitted).
*/
public LegendItem(AttributedString label, String description,
String toolTipText, String urlText,
Shape shape, Paint fillPaint) {
this(label, description, toolTipText, urlText,
/* shape visible = */ true, shape,
/* shape filled = */ true, fillPaint,
/* shape outlined = */ false, Color.black, UNUSED_STROKE,
/* line visible = */ false, UNUSED_SHAPE, UNUSED_STROKE,
Color.black);
}
/**
* Creates a legend item with a filled and outlined shape.
*
* @param label the label (<code>null</code> not permitted).
* @param description the description (<code>null</code> permitted).
* @param toolTipText the tool tip text (<code>null</code> permitted).
* @param urlText the URL text (<code>null</code> permitted).
* @param shape the shape (<code>null</code> not permitted).
* @param fillPaint the paint used to fill the shape (<code>null</code>
* not permitted).
* @param outlineStroke the outline stroke (<code>null</code> not
* permitted).
* @param outlinePaint the outline paint (<code>null</code> not
* permitted).
*/
public LegendItem(AttributedString label, String description,
String toolTipText, String urlText,
Shape shape, Paint fillPaint,
Stroke outlineStroke, Paint outlinePaint) {
this(label, description, toolTipText, urlText,
/* shape visible = */ true, shape,
/* shape filled = */ true, fillPaint,
/* shape outlined = */ true, outlinePaint, outlineStroke,
/* line visible = */ false, UNUSED_SHAPE, UNUSED_STROKE,
Color.black);
}
/**
* Creates a legend item using a line.
*
* @param label the label (<code>null</code> not permitted).
* @param description the description (<code>null</code> permitted).
* @param toolTipText the tool tip text (<code>null</code> permitted).
* @param urlText the URL text (<code>null</code> permitted).
* @param line the line (<code>null</code> not permitted).
* @param lineStroke the line stroke (<code>null</code> not permitted).
* @param linePaint the line paint (<code>null</code> not permitted).
*/
public LegendItem(AttributedString label, String description,
String toolTipText, String urlText,
Shape line, Stroke lineStroke, Paint linePaint) {
this(label, description, toolTipText, urlText,
/* shape visible = */ false, UNUSED_SHAPE,
/* shape filled = */ false, Color.black,
/* shape outlined = */ false, Color.black, UNUSED_STROKE,
/* line visible = */ true, line, lineStroke, linePaint
);
}
/**
* Creates a new legend item.
*
* @param label the label (<code>null</code> not permitted).
* @param description the description (not currently used,
* <code>null</code> permitted).
* @param toolTipText the tool tip text (<code>null</code> permitted).
* @param urlText the URL text (<code>null</code> permitted).
* @param shapeVisible a flag that controls whether or not the shape is
* displayed.
* @param shape the shape (<code>null</code> permitted).
* @param shapeFilled a flag that controls whether or not the shape is
* filled.
* @param fillPaint the fill paint (<code>null</code> not permitted).
* @param shapeOutlineVisible a flag that controls whether or not the
* shape is outlined.
* @param outlinePaint the outline paint (<code>null</code> not permitted).
* @param outlineStroke the outline stroke (<code>null</code> not
* permitted).
* @param lineVisible a flag that controls whether or not the line is
* visible.
* @param line the line.
* @param lineStroke the stroke (<code>null</code> not permitted).
* @param linePaint the line paint (<code>null</code> not permitted).
*/
public LegendItem(AttributedString label, String description,
String toolTipText, String urlText,
boolean shapeVisible, Shape shape,
boolean shapeFilled, Paint fillPaint,
boolean shapeOutlineVisible, Paint outlinePaint,
Stroke outlineStroke,
boolean lineVisible, Shape line, Stroke lineStroke,
Paint linePaint) {
if (label == null) {
throw new IllegalArgumentException("Null 'label' argument.");
}
if (fillPaint == null) {
throw new IllegalArgumentException("Null 'fillPaint' argument.");
}
if (lineStroke == null) {
throw new IllegalArgumentException("Null 'lineStroke' argument.");
}
if (outlinePaint == null) {
throw new IllegalArgumentException("Null 'outlinePaint' argument.");
}
if (outlineStroke == null) {
throw new IllegalArgumentException(
"Null 'outlineStroke' argument.");
}
this.label = characterIteratorToString(label.getIterator());
this.attributedLabel = label;
this.description = description;
this.shapeVisible = shapeVisible;
this.shape = shape;
this.shapeFilled = shapeFilled;
this.fillPaint = fillPaint;
this.shapeOutlineVisible = shapeOutlineVisible;
this.outlinePaint = outlinePaint;
this.outlineStroke = outlineStroke;
this.lineVisible = lineVisible;
this.line = line;
this.lineStroke = lineStroke;
this.linePaint = linePaint;
this.toolTipText = toolTipText;
this.urlText = urlText;
}
/**
* Returns a string containing the characters from the given iterator.
*
* @param iterator the iterator (<code>null</code> not permitted).
*
* @return A string.
*/
private String characterIteratorToString(CharacterIterator iterator) {
int endIndex = iterator.getEndIndex();
int beginIndex = iterator.getBeginIndex();
int count = endIndex - beginIndex;
if (count <= 0) {
return "";
}
char[] chars = new char[count];
int i = 0;
char c = iterator.first();
while (c != CharacterIterator.DONE) {
chars[i] = c;
i++;
c = iterator.next();
}
return new String(chars);
}
/**
* Returns the dataset.
*
* @return The dataset.
*
* @since 1.0.6
*
* @see #setDatasetIndex(int)
*/
public Dataset getDataset() {
return this.dataset;
}
/**
* Sets the dataset.
*
* @param dataset the dataset.
*
* @since 1.0.6
*/
public void setDataset(Dataset dataset) {
this.dataset = dataset;
}
/**
* Returns the dataset index for this legend item.
*
* @return The dataset index.
*
* @since 1.0.2
*
* @see #setDatasetIndex(int)
* @see #getDataset()
*/
public int getDatasetIndex() {
return this.datasetIndex;
}
/**
* Sets the dataset index for this legend item.
*
* @param index the index.
*
* @since 1.0.2
*
* @see #getDatasetIndex()
*/
public void setDatasetIndex(int index) {
this.datasetIndex = index;
}
/**
* Returns the series key.
*
* @return The series key.
*
* @since 1.0.6
*
* @see #setSeriesKey(Comparable)
*/
public Comparable getSeriesKey() {
return this.seriesKey;
}
/**
* Sets the series key.
*
* @param key the series key.
*
* @since 1.0.6
*/
public void setSeriesKey(Comparable key) {
this.seriesKey = key;
}
/**
* Returns the series index for this legend item.
*
* @return The series index.
*
* @since 1.0.2
*/
public int getSeriesIndex() {
return this.series;
}
/**
* Sets the series index for this legend item.
*
* @param index the index.
*
* @since 1.0.2
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -