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

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

?? compassplot.java

?? Web圖形化的Java庫
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
/* ======================================
 * JFreeChart : a free Java chart library
 * ======================================
 *
 * Project Info:  http://www.jfree.org/jfreechart/index.html
 * Project Lead:  David Gilbert (david.gilbert@object-refinery.com);
 *
 * (C) Copyright 2000-2003, by Object Refinery Limited and Contributors.
 *
 * 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.
 *
 * ----------------
 * CompassPlot.java
 * ----------------
 * (C) Copyright 2002, 2003, by the Australian Antarctic Division and Contributors.
 *
 * Original Author:  Bryan Scott (for the Australian Antarctic Division);
 * Contributor(s):   David Gilbert (for Object Refinery Limited);
 *                   Arnaud Lelievre;
 *
 * $Id: CompassPlot.java,v 1.10 2003/09/11 08:11:18 mungady Exp $
 *
 * Changes:
 * --------
 * 25-Sep-2002 : Version 1, contributed by Bryan Scott (DG);
 * 23-Jan-2003 : Removed one constructor (DG);
 * 26-Mar-2003 : Implemented Serializable (DG);
 * 27-Mar-2003 : Changed MeterDataset to ValueDataset (DG);
 * 21-Aug-2003 : Implemented Cloneable (DG);
 * 08-Sep-2003 : Added internationalization via use of properties resourceBundle (RFE 690236) (AL); 
 * 09-Sep-2003 : Changed Color --> Paint (DG);
 */

package org.jfree.chart.plot;

import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.Insets;
import java.awt.Paint;
import java.awt.Polygon;
import java.awt.Stroke;
import java.awt.geom.Area;
import java.awt.geom.Ellipse2D;
import java.awt.geom.Rectangle2D;
import java.io.Serializable;
import java.util.Arrays;
import java.util.ResourceBundle;

import org.jfree.chart.ChartRenderingInfo;
import org.jfree.chart.LegendItemCollection;
import org.jfree.chart.event.PlotChangeEvent;
import org.jfree.chart.needle.ArrowNeedle;
import org.jfree.chart.needle.LineNeedle;
import org.jfree.chart.needle.LongNeedle;
import org.jfree.chart.needle.MeterNeedle;
import org.jfree.chart.needle.PinNeedle;
import org.jfree.chart.needle.PlumNeedle;
import org.jfree.chart.needle.PointerNeedle;
import org.jfree.chart.needle.ShipNeedle;
import org.jfree.chart.needle.WindNeedle;
import org.jfree.data.DefaultValueDataset;
import org.jfree.data.ValueDataset;
import org.jfree.util.ObjectUtils;

/**
 * A specialised plot that draws a compass to indicate a direction based on the value from a
 * {@link ValueDataset}.
 *
 * @author Bryan Scott
 */
public class CompassPlot extends Plot implements Cloneable, Serializable {

    /** The default label font. */
    public static final Font DEFAULT_LABEL_FONT = new Font("SansSerif", Font.BOLD, 10);

    /** A constant for the label type. */
    public static final int NO_LABELS = 0;

    /** A constant for the label type. */
    public static final int VALUE_LABELS = 1;

    /** The label type (NO_LABELS, VALUE_LABELS). */
    private int labelType;

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

    /** A flag that controls whether or not a border is drawn. */
    private boolean drawBorder = false;

    /** The rose highlight paint. */
    private Paint roseHighlightPaint = Color.black;

    /** The rose paint. */
    private Paint rosePaint = Color.yellow;

    /** The rose center paint. */
    private Paint roseCenterPaint = Color.white;

    /** The compass font. */
    private Font compassFont = new Font("Arial", Font.PLAIN, 10);

    /** A working shape. */
    private transient Ellipse2D circle1;

    /** A working shape. */
    private transient Ellipse2D circle2;

    /** A working area. */
    private transient Area a1;
    
    /** A working area. */
    private transient Area a2;

    /** A working shape. */
    private transient Rectangle2D rect1;

    /** An array of value datasets. */
    private ValueDataset[] datasets = new ValueDataset[1];

    /** An array of needles. */
    private MeterNeedle[] seriesNeedle = new MeterNeedle[1];

    /** The resourceBundle for the localization. */
    static protected ResourceBundle localizationResources = 
                            ResourceBundle.getBundle("org.jfree.chart.plot.LocalizationBundle");

    /**
     * Default constructor.
     */
    public CompassPlot() {
        this(new DefaultValueDataset());
    }

    /**
     * Constructs a new compass plot.
     *
     * @param dataset  the dataset for the plot.
     */
    public CompassPlot(ValueDataset dataset) {

        super();

        if (dataset != null) {
           datasets[0] = dataset;
           dataset.addChangeListener(this);
        }

        circle1 = new Ellipse2D.Double();
        circle2 = new Ellipse2D.Double();
        rect1   = new Rectangle2D.Double();
        setSeriesNeedle(0);

    }

    /**
     * Returns the label type.  Defined by the constants: NO_LABELS, VALUE_LABELS.
     *
     * @return The label type.
     */
    public int getLabelType() {
        return this.labelType;
    }

    /**
     * Sets the label type.
     * <P>
     * Valid types are defined by the following constants: NO_LABELS, VALUE_LABELS.
     *
     * @param type  the type.
     */
    public void setLabelType(int type) {

        // check the argument...
        if ((type != NO_LABELS) && (type != VALUE_LABELS)) {

            throw new IllegalArgumentException("MeterPlot.setLabelType(int): unrecognised type.");

        }

        // make the change...
        if (labelType != type) {
            this.labelType = type;
            notifyListeners(new PlotChangeEvent(this));
        }

    }

    /**
     * Returns the label font.
     *
     * @return the label font.
     */
    public Font getLabelFont() {
        return this.labelFont;
    }

    /**
     * Sets the label font.
     * <P>
     * Notifies registered listeners that the plot has been changed.
     *
     * @param font  the new label font.
     */
    public void setLabelFont(Font font) {

        // check arguments...
        if (font == null) {
            throw new IllegalArgumentException("MeterPlot.setLabelFont(...): "
                                               + "null font not allowed.");
        }

        // make the change...
        if (!this.labelFont.equals(font)) {
            this.labelFont = font;
            notifyListeners(new PlotChangeEvent(this));
        }

    }

    /**
     * Returns a flag that controls whether or not a border is drawn.
     *
     * @return the flag.
     */
    public boolean getDrawBorder() {
        return drawBorder;
    }

    /**
     * Sets a flag that controls whether or not a border is drawn.
     *
     * @param status  the flag status.
     */
    public void setDrawBorder(boolean status) {
        drawBorder = status;
    }

    /**
     * Sets the series paint.
     *
     * @param series  the series index.
     * @param paint  the paint.
     */
    public void setSeriesPaint(int series, Paint paint) {
       // super.setSeriesPaint(series, paint);
        if ((series >= 0) && (series < seriesNeedle.length)) {
            seriesNeedle[series].setFillPaint(paint);
        }
    }

    /**
     * Sets the series outline paint.
     *
     * @param series  the series index.
     * @param p  the paint.
     */
    public void setSeriesOutlinePaint(int series, Paint p) {

        if ((series >= 0) && (series < seriesNeedle.length)) {
            seriesNeedle[series].setOutlinePaint(p);
        }

    }

    /**
     * Sets the series outline stroke.
     *
     * @param series  the series index.
     * @param stroke  the stroke.
     */
    public void setSeriesOutlineStroke(int series, Stroke stroke) {

      if ((series >= 0) && (series < seriesNeedle.length)) {
          seriesNeedle[series].setOutlineStroke(stroke);
      }

    }

    /**
     * Sets the needle type.
     *
     * @param type  the type.
     */
    public void setSeriesNeedle(int type) {
        setSeriesNeedle(0, type);
    }

    /**
     * Sets the needle for a series.
     *
     * @param index  the series index.
     * @param type  the needle type.
     */
    public void setSeriesNeedle(int index, int type) {
        switch (type) {
            case 0:
                setSeriesNeedle(index, new ArrowNeedle(true));
                setSeriesPaint(index, Color.red);
                seriesNeedle[index].setHighlightPaint(Color.white);
                break;
            case 1:
                setSeriesNeedle(index, new LineNeedle());
                break;
            case 2:
                setSeriesNeedle(index, new LongNeedle());
                break;
            case 3:
                setSeriesNeedle(index, new PinNeedle());
                break;
            case 4:
                setSeriesNeedle(index, new PlumNeedle());
                break;
            case 5:
                setSeriesNeedle(index, new PointerNeedle());
                break;
            case 6:
                setSeriesPaint(index, null);
                setSeriesOutlineStroke(index, new BasicStroke(3));
                setSeriesNeedle(index, new ShipNeedle());
                break;
            case 7:
                setSeriesPaint(index, Color.blue);
                setSeriesNeedle(index, new WindNeedle());
                break;
            case 8:

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色婷婷精品大视频在线蜜桃视频| 麻豆成人在线观看| 中文字幕精品三区| 国产亚洲成年网址在线观看| 欧美videos中文字幕| 欧美一区二区不卡视频| 91麻豆精品国产91久久久久久| 欧美午夜一区二区三区免费大片| 色天天综合久久久久综合片| 色综合久久久网| 色婷婷av一区二区| 91精品国产综合久久久久久 | 91论坛在线播放| 色成人在线视频| 欧美日韩国产免费| 欧美性色黄大片| 日韩视频一区二区| 久久久99免费| 亚洲欧美偷拍卡通变态| 亚洲国产精品久久久男人的天堂| 偷窥国产亚洲免费视频| 国产自产高清不卡| 成人小视频在线| 欧洲色大大久久| 欧美哺乳videos| 中文字幕精品在线不卡| 亚洲第一电影网| 国精产品一区一区三区mba视频| 国产91精品欧美| 欧美日韩午夜影院| 国产欧美一区二区三区鸳鸯浴| 中文字幕制服丝袜成人av | 3atv一区二区三区| 久久精品一区二区三区四区| 一区二区三区91| 麻豆精品国产91久久久久久| 成人高清免费在线播放| 在线电影院国产精品| 久久久99免费| 日韩国产精品久久久| 国产不卡免费视频| 日韩亚洲欧美一区二区三区| 亚洲三级在线观看| 国产美女精品人人做人人爽 | 美女视频黄 久久| 99久免费精品视频在线观看| 日韩一级黄色大片| 亚洲精品国产精品乱码不99 | 91精品办公室少妇高潮对白| 欧美tickling网站挠脚心| 亚洲精品国产a久久久久久 | 亚洲福利一区二区| 成人av网站在线观看| 日韩一区二区中文字幕| 一二三四区精品视频| 成人午夜短视频| 精品久久久久香蕉网| 午夜伊人狠狠久久| 欧美性大战久久久久久久| 国产精品日产欧美久久久久| 国产乱码精品一区二区三区忘忧草| 欧美亚洲高清一区| 亚洲专区一二三| 成人app网站| 国产女人aaa级久久久级 | 不卡高清视频专区| 欧美成人国产一区二区| 同产精品九九九| 欧美天天综合网| 亚洲国产成人tv| 欧美无砖专区一中文字| 亚洲精品乱码久久久久| 色狠狠桃花综合| 亚洲精选一二三| 色94色欧美sute亚洲线路二| 国产精品国产三级国产三级人妇| 丁香天五香天堂综合| 久久免费视频色| 国产乱妇无码大片在线观看| 久久先锋资源网| 国产高清无密码一区二区三区| 国产三区在线成人av| 成人一区在线看| 亚洲人午夜精品天堂一二香蕉| 成人精品鲁一区一区二区| 国产精品免费看片| 在线日韩av片| 视频一区二区中文字幕| 日韩女同互慰一区二区| 国产一区二区三区免费观看| 国产欧美精品一区| 色综合中文字幕国产 | 美女精品自拍一二三四| 日韩免费看的电影| 丁香婷婷综合网| 亚洲视频 欧洲视频| 精品视频资源站| 激情久久五月天| 国产精品高潮呻吟久久| 在线一区二区视频| 青青草原综合久久大伊人精品 | 337p粉嫩大胆色噜噜噜噜亚洲 | 欧美在线不卡一区| 精品在线播放免费| 中文字幕一区二区三区四区 | 99在线视频精品| 午夜激情一区二区三区| 久久夜色精品一区| 色婷婷久久综合| 久久精品99国产精品日本| 国产精品高潮久久久久无| 欧美午夜在线观看| 国产传媒一区在线| 亚洲国产精品久久人人爱蜜臀| 久久综合色鬼综合色| 日本二三区不卡| 国产精品18久久久久| 亚洲mv在线观看| 中文幕一区二区三区久久蜜桃| 欧洲一区在线观看| 床上的激情91.| 久久99久久久欧美国产| 亚洲综合在线第一页| 国产校园另类小说区| 在线不卡一区二区| a亚洲天堂av| 国产在线播放一区| 日本欧美肥老太交大片| 玉足女爽爽91| 国产精品视频线看| 欧美一级日韩一级| 欧美剧情片在线观看| 一本色道综合亚洲| 成人毛片在线观看| 精品亚洲国产成人av制服丝袜 | 亚洲欧美激情一区二区| 欧美mv日韩mv国产| 91麻豆精品国产自产在线观看一区| 色94色欧美sute亚洲线路二| www.视频一区| 高清不卡在线观看av| 国产乱妇无码大片在线观看| 久久99精品国产麻豆婷婷| 视频一区在线播放| 婷婷国产在线综合| 性欧美疯狂xxxxbbbb| 亚洲第一福利视频在线| 亚洲国产日产av| 亚洲网友自拍偷拍| 午夜不卡av免费| 亚洲超碰97人人做人人爱| 亚洲国产美国国产综合一区二区| 亚洲精品一二三区| 亚洲综合成人在线| 午夜精品成人在线| 蜜桃久久久久久久| 激情偷乱视频一区二区三区| 看电视剧不卡顿的网站| 狠狠色狠狠色综合日日91app| 精品一区二区日韩| 国产精品自产自拍| 成人激情综合网站| 色综合天天综合在线视频| 色婷婷av一区二区三区gif| 欧美亚洲一区二区在线| 欧美精品 国产精品| 欧美精品一区二区在线观看| 久久亚洲捆绑美女| 综合久久国产九一剧情麻豆| 亚洲影院免费观看| 日本不卡一二三| 国产成人综合网| 日本韩国精品在线| 91精品综合久久久久久| 欧美mv日韩mv| 国产精品国产三级国产a| 一区二区三区四区亚洲| 免费观看91视频大全| 国产成人午夜精品影院观看视频| 99久久精品费精品国产一区二区| 欧洲中文字幕精品| 久久色在线观看| 一区二区三区在线观看网站| 免费高清不卡av| av在线综合网| 日韩午夜激情电影| 日韩美女精品在线| 免费人成网站在线观看欧美高清| 国产不卡高清在线观看视频| 欧美色中文字幕| 国产精品乱人伦中文| 视频一区二区国产| 国产91精品免费| 5858s免费视频成人| 国产精品―色哟哟| 久久成人免费网站| 欧美性猛交xxxx乱大交退制版| 久久青草欧美一区二区三区| 亚洲www啪成人一区二区麻豆 | 一区二区三区日韩|