legenditem.java
来自「JfreeChart 常用图表例子」· Java 代码 · 共 555 行 · 第 1/2 页
JAVA
555 行
/* =========================================================== * JFreeChart : a free chart library for the Java(tm) platform * =========================================================== * * (C) Copyright 2000-2005, 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.] * * --------------- * LegendItem.java * --------------- * (C) Copyright 2000-2005, by Object Refinery Limited and Contributors. * * Original Author: David Gilbert (for Object Refinery Limited); * Contributor(s): Andrzej Porebski; * David Li; * Wolfgang Irler; * Luke Quinane; * * $Id: LegendItem.java,v 1.9 2005/05/19 15:40:55 mungady Exp $ * * Changes (from 2-Oct-2002) * ------------------------- * 02-Oct-2002 : Fixed errors reported by Checkstyle (DG); * 17-Jan-2003 : Dropped outlineStroke attribute (DG); * 08-Oct-2003 : Applied patch for displaying series line style, contributed by * Luke Quinane (DG); * 21-Jan-2004 : Added the shapeFilled flag (DG); * 04-Jun-2004 : Added equals() method, implemented Serializable (DG); * 25-Nov-2004 : Changes required by new LegendTitle implementation (DG); * 11-Jan-2005 : Removed deprecated code in preparation for the 1.0.0 * release (DG); * 20-Apr-2005 : Added tooltip and URL text (DG); * */package org.jfree.chart;import java.awt.BasicStroke;import java.awt.Color;import java.awt.Paint;import java.awt.Shape;import java.awt.Stroke;import java.awt.geom.Line2D;import java.io.IOException;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.io.Serializable;import org.jfree.io.SerialUtilities;import org.jfree.util.ObjectUtilities;import org.jfree.util.ShapeUtilities;/** * A storage object for recording the properties of a legend item, without any * consideration for layout issues. Instances of this class are immutable. */public class LegendItem implements Serializable { // TODO: keeping this class immutable is becoming a lot of overhead, need // to look at the consequences of dropping immutability /** For serialization. */ private static final long serialVersionUID = -797214582948827144L; /** The label. */ private String label; /** * The description (not currently used - could be displayed as a tool tip). */ private String description; /** The tool tip text. */ private String toolTipText; /** The url text. */ private String urlText; /** A flag that controls whether or not the shape is visible. */ private boolean shapeVisible; /** The shape. */ private transient Shape shape; /** A flag that controls whether or not the shape is filled. */ private boolean shapeFilled; /** The paint. */ private transient Paint fillPaint; /** A flag that controls whether or not the shape outline is visible. */ private boolean shapeOutlineVisible; /** The outline paint. */ private transient Paint outlinePaint; /** The outline stroke. */ private transient Stroke outlineStroke; /** A flag that controls whether or not the line is visible. */ private boolean lineVisible; /** The line. */ private transient Shape line; /** The stroke. */ private transient Stroke lineStroke; /** The line paint. */ private transient Paint linePaint; /** * The shape must be non-null for a LegendItem - if no shape is required, * use this. */ private static final Shape UNUSED_SHAPE = new Line2D.Float(); /** * The stroke must be non-null for a LegendItem - if no stroke is required, * use this. */ private static final Stroke UNUSED_STROKE = new BasicStroke(0.0f); /** * 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(String label, String description, String toolTipText, String urlText, Shape shape, Paint fillPaint) { this( label, description, toolTipText, urlText, true, // shape visible shape, true, // shape filled fillPaint, false, // shape not outlined Color.black, UNUSED_STROKE, false, // line not visible 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(String label, String description, String toolTipText, String urlText, Shape shape, Paint fillPaint, Stroke outlineStroke, Paint outlinePaint) { this( label, description, toolTipText, urlText, true, // shape visible shape, true, // shape filled fillPaint, true, // shape outlined outlinePaint, outlineStroke, false, // line not visible 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(String label, String description, String toolTipText, String urlText, Shape line, Stroke lineStroke, Paint linePaint) { this( label, description, toolTipText, urlText, false, // shape not visible UNUSED_SHAPE, false, // shape not filled Color.black, false, // shape not outlined Color.black, UNUSED_STROKE, true, // line visible 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(String label, String description, String toolTipText, String urlText, boolean shapeVisible, Shape shape, boolean shapeFilled,
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?