📄 abstractrenderer.java
字号:
this.basePaint = paint;
}
// OUTLINE PAINT
/**
* Returns the paint used to outline data items as they are drawn.
* <p>
* The default implementation passes control to the getSeriesOutlinePaint method. You can
* override this method if you require different behaviour.
*
* @param row the row (or series) index (zero-based).
* @param column the column (or category) index (zero-based).
*
* @return The paint.
*/
public Paint getItemOutlinePaint(int row, int column) {
return getSeriesOutlinePaint(row);
}
/**
* Returns the color used to outline an item drawn by the renderer.
*
* @param series the series (zero-based index).
*
* @return The paint.
*/
public Paint getSeriesOutlinePaint(int series) {
// return the override, if there is one...
if (this.outlinePaint != null) {
return this.outlinePaint;
}
// otherwise look up the paint table
Paint paint = (Paint) this.outlinePaintList.getPaint(series);
if (paint == null) {
DrawingSupplier supplier = getDrawingSupplier();
if (supplier != null) {
paint = supplier.getNextOutlinePaint();
this.outlinePaintList.setPaint(series, paint);
}
else {
paint = this.baseOutlinePaint;
}
}
return paint;
}
/**
* Sets the paint used for a series outline.
*
* @param series the series index (zero-based).
* @param paint the paint.
*/
public void setSeriesOutlinePaint(int series, Paint paint) {
this.outlinePaintList.setPaint(series, paint);
}
/**
* Returns the base outline paint.
*
* @return The base outline paint.
*/
public Paint getBaseOutlinePaint() {
return this.baseOutlinePaint;
}
/**
* Sets the base outline paint.
*
* @param paint the paint.
*/
public void setBaseOutlinePaint(Paint paint) {
this.baseOutlinePaint = paint;
}
// STROKE
/**
* Returns the stroke used to draw data items.
* <p>
* The default implementation passes control to the getSeriesStroke method. You can override
* this method if you require different behaviour.
*
* @param row the row (or series) index (zero-based).
* @param column the column (or category) index (zero-based).
*
* @return The stroke.
*/
public Stroke getItemStroke(int row, int column) {
return getSeriesStroke(row);
}
/**
* Returns the stroke used to draw the items in a series.
*
* @param series the series (zero-based index).
*
* @return The stroke.
*/
public Stroke getSeriesStroke(int series) {
// return the override, if there is one...
if (this.stroke != null) {
return this.stroke;
}
// otherwise look up the paint table
Stroke stroke = (Stroke) this.strokeList.get(series);
if (stroke == null) {
DrawingSupplier supplier = getDrawingSupplier();
if (supplier != null) {
stroke = supplier.getNextStroke();
this.strokeList.set(series, stroke);
}
else {
stroke = this.baseStroke;
}
}
return stroke;
}
/**
* Sets the stroke for ALL series (optional).
*
* @param stroke the stroke (<code>null</code> permitted).
*/
public void setStroke(Stroke stroke) {
this.stroke = stroke;
}
/**
* Sets the stroke used for a series.
*
* @param series the series index (zero-based).
* @param stroke the stroke.
*/
public void setSeriesStroke(int series, Stroke stroke) {
this.strokeList.set(series, stroke);
}
/**
* Returns the base stroke.
*
* @return The base stroke.
*/
public Stroke getBaseStroke() {
return this.baseStroke;
}
/**
* Sets the base stroke.
*
* @param stroke the stroke.
*/
public void setBaseStroke(Stroke stroke) {
this.baseStroke = stroke;
}
// OUTLINE STROKE
/**
* Returns the stroke used to outline data items.
* <p>
* The default implementation passes control to the getSeriesOutlineStroke method.
* You can override this method if you require different behaviour.
*
* @param row the row (or series) index (zero-based).
* @param column the column (or category) index (zero-based).
*
* @return The stroke.
*/
public Stroke getItemOutlineStroke(int row, int column) {
return getSeriesOutlineStroke(row);
}
/**
* Returns the stroke used to outline the items in a series.
*
* @param series the series (zero-based index).
*
* @return The stroke.
*/
public Stroke getSeriesOutlineStroke(int series) {
// return the override, if there is one...
if (this.outlineStroke != null) {
return this.outlineStroke;
}
// otherwise look up the stroke table
Stroke stroke = (Stroke) this.outlineStrokeList.get(series);
if (stroke == null) {
DrawingSupplier supplier = getDrawingSupplier();
if (supplier != null) {
stroke = supplier.getNextStroke();
this.strokeList.set(series, stroke);
}
else {
stroke = this.baseOutlineStroke;
}
}
return stroke;
}
/**
* Sets the outline stroke.
*
* @param stroke the outline stroke.
*/
public void setOutlineStroke(Stroke stroke) {
this.outlineStroke = stroke;
}
/**
* Sets the outline stroke used for a series.
*
* @param series the series index (zero-based).
* @param stroke the stroke.
*/
public void setSeriesOutlineStroke(int series, Stroke stroke) {
this.outlineStrokeList.set(series, stroke);
}
/**
* Returns the base outline stroke.
*
* @return The base outline stroke.
*/
public Stroke getBaseOutlineStroke() {
return this.baseOutlineStroke;
}
/**
* Sets the base outline stroke.
*
* @param stroke the base outline stroke.
*/
public void setBaseOutlineStroke(Stroke stroke) {
this.baseOutlineStroke = stroke;
}
// SHAPE
/**
* Returns a shape used to represent a data item.
* <p>
* The default implementation passes control to the getSeriesShape method. You can override
* this method if you require different behaviour.
*
* @param row the row (or series) index (zero-based).
* @param column the column (or category) index (zero-based).
*
* @return The shape.
*/
public Shape getItemShape(int row, int column) {
return getSeriesShape(row);
}
/**
* Returns a shape used to represent the items in a series.
*
* @param series the series (zero-based index).
*
* @return The shape.
*/
public Shape getSeriesShape(int series) {
// return the override, if there is one...
if (this.shape != null) {
return this.shape;
}
// otherwise look up the shape list
Shape shape = this.shapeList.getShape(series);
if (shape == null) {
DrawingSupplier supplier = getDrawingSupplier();
if (supplier != null) {
shape = supplier.getNextShape();
this.shapeList.setShape(series, shape);
}
else {
shape = this.baseShape;
}
}
return shape;
}
/**
* Sets the shape for ALL series (optional).
*
* @param shape the shape (<code>null</code> permitted).
*/
public void setShape(Shape shape) {
this.shape = shape;
}
/**
* Sets the shape used for a series.
*
* @param series the series index (zero-based).
* @param shape the shape.
*/
public void setSeriesShape(int series, Shape shape) {
this.shapeList.setShape(series, shape);
}
/**
* Returns the base shape.
*
* @return The base shape.
*/
public Shape getBaseShape() {
return this.baseShape;
}
/**
* Sets the base shape.
*
* @param shape the shape.
*/
public void setBaseShape(Shape shape) {
this.baseShape = shape;
}
/**
* Creates and returns a translated version of a shape.
*
* @param shape the base shape.
* @param translateX the x translation.
* @param translateY the y translation.
*
* @return The shape.
*/
protected synchronized Shape createTransformedShape(Shape shape,
double translateX, double translateY) {
AffineTransform transformer = new AffineTransform();
transformer.setToTranslation(translateX, translateY);
return transformer.createTransformedShape(shape);
}
// ITEM LABEL VISIBILITY...
/**
* Returns <code>true</code> if an item label is visible, and <code>false</code> otherwise.
*
* @param row the row.
* @param column the column.
*
* @return A boolean.
*/
public boolean isItemLabelVisible(int row, int column) {
return isSeriesItemLabelsVisible(row);
}
/**
* Returns <code>true</code> if the item labels for a series area visible, and
* <code>false</code> otherwise.
*
* @param series the series.
*
* @return A boolean.
*/
public boolean isSeriesItemLabelsVisible(int series) {
// return the override, if there is one...
if (this.itemLabelsVisible != null) {
return this.itemLabelsVisible.booleanValue();
}
// otherwise look up the boolean table
Boolean b = this.itemLabelsVisibleList.getBoolean(series);
if (b == null) {
b = this.baseItemLabelsVisible;
}
if (b == null) {
b = Boolean.FALSE;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -