📄 drawablelegenditem.java
字号:
/* ===========================================================
* JFreeChart : a free chart library for the Java(tm) platform
* ===========================================================
*
* (C) Copyright 2000-2004, by Object Refinery Limited and Contributors.
*
* Project Info: http://www.jfree.org/jfreechart/index.html
*
* This library is free software; you can redistribute it and/or modify it under the terms
* of the GNU Lesser General Public License as published by the Free Software Foundation;
* either version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License along with this
* library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
* Boston, MA 02111-1307, USA.
*
* [Java is a trademark or registered trademark of Sun Microsystems, Inc.
* in the United States and other countries.]
*
* -----------------------
* DrawableLegendItem.java
* -----------------------
* (C) Copyright 2002-2004, by Object Refinery Limited and Contributors.
*
* Original Author: David Gilbert (for Object Refinery Limited);
* Contributor(s): Luke Quinane;
* Barak Naveh;
*
* $Id: DrawableLegendItem.java,v 1.1 2004/08/31 14:26:08 mungady Exp $
*
* Changes
* -------
* 07-Feb-2002 : Version 1 (DG);
* 23-Sep-2002 : Renamed LegendItem --> DrawableLegendItem (DG);
* 02-Oct-2002 : Fixed errors reported by Checkstyle (DG);
* 08-Oct-2003 : Applied patch for displaying series line style, contributed by Luke Quinane (DG);
* 27-Mar-2004 : Added getMaxX() and getMaxY() methods (BN);
*
*/
package org.jfree.chart;
import java.awt.Graphics2D;
import java.awt.Shape;
import java.awt.Stroke;
import java.awt.geom.Line2D;
import java.awt.geom.Point2D;
/**
* Represents a single item within a legend.
*/
public class DrawableLegendItem {
/** The legend item (encapsulates information about the label, color and shape). */
private LegendItem item;
/** The x-coordinate for the item's location. */
private double x;
/** The y-coordinate for the item's location. */
private double y;
/** The width of the item. */
private double width;
/** The height of the item. */
private double height;
/** A shape used to indicate color on the legend. */
private Shape marker;
/** A flag that controls whether or not the marker is filled. */
private boolean markerFilled;
/** A line used to indicate the series stroke on the legend */
private Line2D line;
/** A stroke used to draw line used to indicate the series stroke on the legend */
private Stroke lineStroke;
/** The label position within the item. */
private Point2D labelPosition;
/**
* Create a legend item.
*
* @param item the legend item for display.
*/
public DrawableLegendItem(LegendItem item) {
this.item = item;
}
/**
* Returns the legend item.
*
* @return the legend item.
*/
public LegendItem getItem() {
return this.item;
}
/**
* Get the x-coordinate for the item's location.
*
* @return the x-coordinate for the item's location.
*/
public double getX() {
return this.x;
}
/**
* Set the x-coordinate for the item's location.
*
* @param x the x-coordinate.
*/
public void setX(double x) {
this.x = x;
}
/**
* Get the y-coordinate for the item's location.
*
* @return the y-coordinate for the item's location.
*/
public double getY() {
return this.y;
}
/**
* Set the y-coordinate for the item's location.
*
* @param y the y-coordinate.
*/
public void setY(double y) {
this.y = y;
}
/**
* Get the width of this item.
*
* @return the width.
*/
public double getWidth() {
return this.width;
}
/**
* Get the height of this item.
*
* @return the height.
*/
public double getHeight() {
return this.height;
}
/**
* Returns the largest X coordinate of the framing rectangle of this legend
* item.
*
* @return the largest x coordinate of the framing rectangle of this legend
* item.
*/
public double getMaxX() {
return getX() + getWidth();
}
/**
* Returns the largest Y coordinate of the framing rectangle of this legend
* item.
*
* @return the largest Y coordinate of the framing rectangle of this legend
* item.
*/
public double getMaxY() {
return getY() + getHeight();
}
/**
* Get the marker.
*
* @return the shape used to indicate color on the legend for this item.
*/
public Shape getMarker() {
return this.marker;
}
/**
* Set the marker.
*
* @param marker a shape used to indicate color on the legend for this item.
*/
public void setMarker(Shape marker) {
this.marker = marker;
}
/**
* Returns a flag that controls whether or not the marker is filled.
*
* @return A boolean.
*/
public boolean isMarkerFilled() {
return this.markerFilled;
}
/**
* Sets a flag that controls whether or not the marker is filled.
*
* @param filled the flag.
*/
public void setMarkerFilled(boolean filled) {
this.markerFilled = filled;
}
/**
* Returns the stroke used to render the line for this series.
*
* @return The stroke.
*/
public Stroke getLineStroke() {
return this.lineStroke;
}
/**
* Sets the line stroke used to render the line for this series.
*
* @param s the new stroke to use.
*/
public void setLineStroke(Stroke s) {
this.lineStroke = s;
}
/**
* Sets the line used to label this series.
*
* @param l the new line to use.
*/
public void setLine(Line2D l) {
this.line = l;
}
/**
* Returns the list.
*
* @return The line.
*/
public Line2D getLine() {
return this.line;
}
/**
* Returns the label position.
*
* @return the label position.
*/
public Point2D getLabelPosition() {
return this.labelPosition;
}
/**
* Sets the label position.
*
* @param position the label position.
*/
public void setLabelPosition(Point2D position) {
this.labelPosition = position;
}
/**
* Set the bounds of this item.
*
* @param x x-coordinate for the item's location.
* @param y y-coordinate for the item's location.
* @param width the width of this item.
* @param height the height of this item.
*/
public void setBounds(double x, double y, double width, double height) {
this.x = x;
this.y = y;
this.width = width;
this.height = height;
}
/**
* Draw the item. Currently it does nothing.
*
* @param g2 the graphics device.
* @param xOffset offset for the x-coordinate.
* @param yOffset offset for the y-coordinate.
*/
public void draw(Graphics2D g2, double xOffset, double yOffset) {
// set up a translation on g2
// restore original g2
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -