亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? textannotation.java

?? jfreechart1.0.1 jsp繪制圖表的開發包
?? JAVA
字號:
/* ===========================================================
 * 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., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, 
 * USA.  
 *
 * [Java is a trademark or registered trademark of Sun Microsystems, Inc. 
 * in the United States and other countries.]
 *
 * -------------------
 * TextAnnotation.java
 * -------------------
 * (C) Copyright 2002-2005, by Object Refinery Limited.
 *
 * Original Author:  David Gilbert (for Object Refinery Limited);
 * Contributor(s):   -;
 *
 * $Id: TextAnnotation.java,v 1.6.2.2 2005/10/25 16:51:15 mungady Exp $
 *
 * Changes:
 * --------
 * 28-Aug-2002 : Version 1 (DG);
 * 07-Nov-2002 : Fixed errors reported by Checkstyle, added accessor 
 *               methods (DG);
 * 13-Jan-2003 : Reviewed Javadocs (DG);
 * 26-Mar-2003 : Implemented Serializable (DG);
 * 02-Jun-2003 : Added anchor and rotation settings (DG);
 * 19-Aug-2003 : Added equals() method and implemented Cloneable (DG);
 * 29-Sep-2004 : Updated equals() method (DG);
 * 06-Jun-2005 : Fixed equals() method to work with GradientPaint (DG);
 * 
 */

package org.jfree.chart.annotations;

import java.awt.Color;
import java.awt.Font;
import java.awt.Paint;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;

import org.jfree.io.SerialUtilities;
import org.jfree.ui.TextAnchor;
import org.jfree.util.ObjectUtilities;
import org.jfree.util.PaintUtilities;

/**
 * A base class for text annotations.  This class records the content but not 
 * the location of the annotation.
 */
public class TextAnnotation implements Serializable {

    /** For serialization. */
    private static final long serialVersionUID = 7008912287533127432L;
    
    /** The default font. */
    public static final Font DEFAULT_FONT 
        = new Font("SansSerif", Font.PLAIN, 10);

    /** The default paint. */
    public static final Paint DEFAULT_PAINT = Color.black;
    
    /** The default text anchor. */
    public static final TextAnchor DEFAULT_TEXT_ANCHOR = TextAnchor.CENTER;

    /** The default rotation anchor. */    
    public static final TextAnchor DEFAULT_ROTATION_ANCHOR = TextAnchor.CENTER;
    
    /** The default rotation angle. */
    public static final double DEFAULT_ROTATION_ANGLE = 0.0;

    /** The text. */
    private String text;

    /** The font. */
    private Font font;

    /** The paint. */
    private transient Paint paint;
    
    /** The text anchor. */
    private TextAnchor textAnchor;
    
    /** The rotation anchor. */
    private TextAnchor rotationAnchor;
    
    /** The rotation angle. */
    private double rotationAngle;

    /**
     * Creates a text annotation with default settings.
     *
     * @param text  the text (<code>null</code> not permitted).
     */
    protected TextAnnotation(String text) {
        if (text == null) {
            throw new IllegalArgumentException("Null 'text' argument.");
        }
        this.text = text;
        this.font = DEFAULT_FONT;
        this.paint = DEFAULT_PAINT;
        this.textAnchor = DEFAULT_TEXT_ANCHOR;
        this.rotationAnchor = DEFAULT_ROTATION_ANCHOR;
        this.rotationAngle = DEFAULT_ROTATION_ANGLE;
    }

    /**
     * Returns the text for the annotation.
     *
     * @return The text (never <code>null</code>).
     */
    public String getText() {
        return this.text;
    }

    /**
     * Sets the text for the annotation.
     * 
     * @param text  the text (<code>null</code> not permitted).
     */
    public void setText(String text) {
        this.text = text;
    }
    
    /**
     * Returns the font for the annotation.
     *
     * @return The font.
     */
    public Font getFont() {
        return this.font;
    }

    /**
     * Sets the font for the annotation.
     * 
     * @param font  the font.
     */
    public void setFont(Font font) {
        this.font = font;
    }
    
    /**
     * Returns the paint for the annotation.
     *
     * @return The paint.
     */
    public Paint getPaint() {
        return this.paint;
    }
    
    /**
     * Sets the paint for the annotation.
     * 
     * @param paint  the paint.
     */
    public void setPaint(Paint paint) {
        this.paint = paint;
    }

    /**
     * Returns the text anchor.
     * 
     * @return The text anchor.
     */
    public TextAnchor getTextAnchor() {
        return this.textAnchor;
    }
    
    /**
     * Sets the text anchor (the point on the text bounding rectangle that is 
     * aligned to the (x, y) coordinate of the annotation).
     * 
     * @param anchor  the anchor point.
     */
    public void setTextAnchor(TextAnchor anchor) {
        this.textAnchor = anchor;
    }
    
    /**
     * Returns the rotation anchor.
     * 
     * @return The rotation anchor point.
     */
    public TextAnchor getRotationAnchor() {
        return this.rotationAnchor;
    }
    
    /**
     * Sets the rotation anchor point.
     * 
     * @param anchor  the anchor.
     */
    public void setRotationAnchor(TextAnchor anchor) {
        this.rotationAnchor = anchor;    
    }
    
    /**
     * Returns the rotation angle.
     * 
     * @return The rotation angle.
     */
    public double getRotationAngle() {
        return this.rotationAngle; 
    }
    
    /**
     * Sets the rotation angle.
     * <p>
     * The angle is measured clockwise in radians.
     * 
     * @param angle  the angle (in radians).
     */
    public void setRotationAngle(double angle) {
        this.rotationAngle = angle;    
    }
    
    /**
     * Tests this object for equality with an arbitrary object.
     * 
     * @param obj  the object (<code>null</code> permitted).
     * 
     * @return <code>true</code> or <code>false</code>.
     */
    public boolean equals(Object obj) {
        if (obj == this) {
            return true;
        }
        // now try to reject equality...
        if (!(obj instanceof TextAnnotation)) {
            return false;
        }
        TextAnnotation that = (TextAnnotation) obj;
        if (!ObjectUtilities.equal(this.text, that.getText())) {
            return false;
        }
        if (!ObjectUtilities.equal(this.font, that.getFont())) {
            return false;
        }
        if (!PaintUtilities.equal(this.paint, that.getPaint())) {
            return false;
        }
        if (!ObjectUtilities.equal(this.textAnchor, that.getTextAnchor())) {
            return false;
        }
        if (!ObjectUtilities.equal(
            this.rotationAnchor, that.getRotationAnchor()
        )) {
            return false;
        }
        if (this.rotationAngle != that.getRotationAngle()) {
            return false;
        }
        
        // seem to be the same...
        return true;
            
    }
    
    /**
     * Returns a hash code for this instance.
     * 
     * @return A hash code.
     */
    public int hashCode() {
        // TODO: this needs work
        return this.text.hashCode();   
    }
    
    /**
     * Provides serialization support.
     *
     * @param stream  the output stream.
     *
     * @throws IOException if there is an I/O error.
     */
    private void writeObject(ObjectOutputStream stream) throws IOException {
        stream.defaultWriteObject();
        SerialUtilities.writePaint(this.paint, stream);
    }

    /**
     * Provides serialization support.
     *
     * @param stream  the input stream.
     *
     * @throws IOException  if there is an I/O error.
     * @throws ClassNotFoundException  if there is a classpath problem.
     */
    private void readObject(ObjectInputStream stream) 
        throws IOException, ClassNotFoundException {
        stream.defaultReadObject();
        this.paint = SerialUtilities.readPaint(stream);
    }

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区久久久| 日韩av网站免费在线| 欧美视频你懂的| 男女男精品网站| 国产亚洲一本大道中文在线| 日本韩国欧美国产| 国产999精品久久久久久| 丝袜诱惑亚洲看片| 亚洲日本一区二区| 国产午夜亚洲精品午夜鲁丝片| 色综合激情久久| 国产精品88888| 老司机一区二区| 亚洲图片有声小说| 亚洲精品视频在线观看网站| 中文字幕欧美日本乱码一线二线| 欧美一区二区久久| 欧美日韩成人高清| 91福利精品视频| 91在线视频在线| 成人精品在线视频观看| 国产乱人伦偷精品视频不卡| 日本一区中文字幕| 亚洲成人福利片| 亚洲国产视频一区| 一区二区三区成人| 亚洲欧美日韩国产一区二区三区| 亚洲国产成人私人影院tom | 日韩一区二区在线看| 色综合色综合色综合| 成人国产在线观看| 成人国产一区二区三区精品| 高清成人在线观看| 成人免费视频国产在线观看| 成人性生交大合| 国产成人综合在线播放| 国产精品自拍三区| 国产精品中文字幕日韩精品| 极品少妇xxxx精品少妇| 国内外成人在线| 国产在线看一区| 国产精品白丝jk黑袜喷水| 国产精品综合在线视频| 国产一区999| 成人性生交大片免费看视频在线| 国产91丝袜在线播放九色| 国产美女精品人人做人人爽| 国产美女视频91| 成人av在线一区二区三区| 不卡大黄网站免费看| 色丁香久综合在线久综合在线观看| 91丨porny丨在线| 欧美午夜精品电影| 欧美一区二区网站| 亚洲精品一区二区三区四区高清| 久久久久亚洲综合| 欧美激情艳妇裸体舞| 自拍视频在线观看一区二区| 亚洲线精品一区二区三区八戒| 日日噜噜夜夜狠狠视频欧美人 | 黄色资源网久久资源365| 久久爱www久久做| 国产成人自拍高清视频在线免费播放| 国产乱妇无码大片在线观看| 懂色av一区二区夜夜嗨| 一本色道久久综合狠狠躁的推荐 | 欧美丰满美乳xxx高潮www| 欧美日韩国产在线播放网站| 日韩女同互慰一区二区| 国产午夜精品一区二区 | 久久久精品国产免费观看同学| 中文字幕av一区二区三区高| 亚洲男帅同性gay1069| 亚洲超碰精品一区二区| 精品亚洲成a人| 不卡av在线免费观看| 制服丝袜激情欧洲亚洲| 国产日韩欧美在线一区| 一区二区视频免费在线观看| 日本不卡123| 成人午夜av影视| 欧美日韩国产综合视频在线观看| www久久久久| 亚洲免费在线观看视频| 久久99这里只有精品| 91看片淫黄大片一级在线观看| 欧美二区在线观看| 中文乱码免费一区二区| 三级在线观看一区二区| 成人午夜视频免费看| 欧美年轻男男videosbes| 国产亚洲欧洲一区高清在线观看| 亚洲成人综合网站| 国产成人在线影院| 欧美人妇做爰xxxⅹ性高电影| 国产无遮挡一区二区三区毛片日本| 亚洲自拍欧美精品| 高清久久久久久| 欧美一区在线视频| 亚洲欧美经典视频| 国产精品一区一区三区| 欧美一区二区三区成人| 亚洲男人的天堂在线aⅴ视频| 久久99久久精品| 欧洲中文字幕精品| 国产精品美女久久久久高潮| 精品亚洲国产成人av制服丝袜| 欧美性猛交xxxxxx富婆| 国产精品日产欧美久久久久| 久久成人精品无人区| 欧美日韩一区成人| 日韩一区有码在线| 国产91丝袜在线播放0| 亚洲精品一区二区三区四区高清| 日韩中文字幕不卡| 欧美特级限制片免费在线观看| 中文字幕av一区二区三区免费看| 国产在线播放一区三区四| 欧美三级在线看| 一区二区三区美女视频| 91麻豆免费看| 国产精品国产成人国产三级| 国产一区三区三区| 精品国产不卡一区二区三区| 蜜臀av性久久久久蜜臀aⅴ四虎 | 日日摸夜夜添夜夜添国产精品 | 91成人看片片| 国产精品久久久久三级| 国产成人在线视频网站| 久久―日本道色综合久久| 精品一区二区三区影院在线午夜| 欧美精选午夜久久久乱码6080| 亚洲一区二区3| 欧美在线色视频| 亚洲高清免费观看高清完整版在线观看| 97久久久精品综合88久久| 国产精品亲子伦对白| 丁香六月综合激情| 国产精品午夜电影| 99精品视频在线播放观看| 综合欧美一区二区三区| 9l国产精品久久久久麻豆| 136国产福利精品导航| 97精品国产露脸对白| 一区二区三区日韩在线观看| 欧美性生活久久| 视频一区视频二区中文字幕| 欧美一区二区三区免费在线看| 蜜臀av性久久久久av蜜臀妖精| 欧美成人a在线| 国产美女av一区二区三区| 国产精品网曝门| 91久久精品一区二区三| 日韩激情中文字幕| 精品对白一区国产伦| 粉嫩av一区二区三区在线播放| 亚洲人吸女人奶水| 欧美日韩精品二区第二页| 久久国产精品无码网站| 国产亚洲午夜高清国产拍精品 | 91在线视频官网| 亚洲国产日产av| 日韩欧美久久久| 成人网男人的天堂| 一区二区三区波多野结衣在线观看| 欧美色精品天天在线观看视频| 美女www一区二区| 国产精品污网站| 在线观看精品一区| 蜜臀av国产精品久久久久| 国产精品免费看片| 欧美色偷偷大香| 国产高清不卡二三区| 亚洲六月丁香色婷婷综合久久| 7777精品伊人久久久大香线蕉的| 激情文学综合丁香| 一区二区三区四区精品在线视频| 91精品国产色综合久久ai换脸| 国产成人自拍网| 亚洲高清不卡在线| 国产日韩成人精品| 欧美日韩国产高清一区二区| 国产精品一二三四| 亚洲成a人片在线观看中文| 久久久久9999亚洲精品| 欧美亚洲一区三区| 国产成人精品免费视频网站| 亚洲一区二区三区三| 久久亚洲一级片| 欧美撒尿777hd撒尿| 国产精品亚洲第一区在线暖暖韩国| 一区二区三区欧美日韩| 久久美女艺术照精彩视频福利播放 | 久久97超碰国产精品超碰| 一个色在线综合| 久久久高清一区二区三区| 欧美日韩国产一级| 成人av网站免费观看| 久久99在线观看| 午夜成人在线视频|