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

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

?? winditemrenderer.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.]
 *
 * ---------------------
 * WindItemRenderer.java
 * ---------------------
 * (C) Copyright 2001-2004, by Achilleus Mantzios and Contributors.
 *
 * Original Author:  Achilleus Mantzios;
 * Contributor(s):   David Gilbert (for Object Refinery Limited);
 *
 * $Id: WindItemRenderer.java,v 1.3.2.1 2005/10/25 20:56:21 mungady Exp $
 *
 * Changes
 * -------
 * 06-Feb-2002 : Version 1, based on code contributed by Achilleus 
 *               Mantzios (DG);
 * 28-Mar-2002 : Added a property change listener mechanism so that renderers 
 *               no longer need to be immutable.  Changed StrictMath --> Math 
 *               to retain JDK1.2 compatibility (DG);
 * 09-Apr-2002 : Changed return type of the drawItem method to void, reflecting 
 *               the change in the XYItemRenderer method (DG);
 * 01-Oct-2002 : Fixed errors reported by Checkstyle (DG);
 * 21-Jan-2003 : Added new constructor (DG);
 * 25-Mar-2003 : Implemented Serializable (DG);
 * 01-May-2003 : Modified drawItem() method signature (DG);
 * 20-Aug-2003 : Implemented Cloneable and PublicCloneable (DG);
 * 16-Sep-2003 : Changed ChartRenderingInfo --> PlotRenderingInfo (DG);
 * 25-Feb-2004 : Replaced CrosshairInfo with CrosshairState (DG);
 * 15-Jul-2004 : Switched getX() with getXValue() and getY() with 
 *               getYValue() (DG);
 *
 */

package org.jfree.chart.renderer.xy;

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.Paint;
import java.awt.Stroke;
import java.awt.geom.Line2D;
import java.awt.geom.Rectangle2D;
import java.io.Serializable;

import org.jfree.chart.axis.ValueAxis;
import org.jfree.chart.plot.CrosshairState;
import org.jfree.chart.plot.PlotRenderingInfo;
import org.jfree.chart.plot.XYPlot;
import org.jfree.data.xy.WindDataset;
import org.jfree.data.xy.XYDataset;
import org.jfree.ui.RectangleEdge;
import org.jfree.util.PublicCloneable;

/**
 * A specialised renderer for displaying wind intensity/direction data.
 *
 * @author Achilleus Mantzios
 */
public class WindItemRenderer extends AbstractXYItemRenderer 
                              implements XYItemRenderer, 
                                         Cloneable,
                                         PublicCloneable,
                                         Serializable {

    /** For serialization. */
    private static final long serialVersionUID = 8078914101916976844L;
    
    /**
     * Creates a new renderer.
     */
    public WindItemRenderer() {
        super();
    }

    /**
     * Draws the visual representation of a single data item.
     *
     * @param g2  the graphics device.
     * @param state  the renderer state.
     * @param plotArea  the area within which the plot is being drawn.
     * @param info  optional information collection.
     * @param plot  the plot (can be used to obtain standard color 
     *              information etc).
     * @param domainAxis  the horizontal axis.
     * @param rangeAxis  the vertical axis.
     * @param dataset  the dataset.
     * @param series  the series index (zero-based).
     * @param item  the item index (zero-based).
     * @param crosshairState  crosshair information for the plot 
     *                        (<code>null</code> permitted).
     * @param pass  the pass index.
     */
    public void drawItem(Graphics2D g2,
                         XYItemRendererState state,
                         Rectangle2D plotArea,
                         PlotRenderingInfo info,
                         XYPlot plot,
                         ValueAxis domainAxis,
                         ValueAxis rangeAxis,
                         XYDataset dataset,
                         int series,
                         int item,
                         CrosshairState crosshairState,
                         int pass) {

        WindDataset windData = (WindDataset) dataset;

        Paint seriesPaint = getItemPaint(series, item);
        Stroke seriesStroke = getItemStroke(series, item);
        g2.setPaint(seriesPaint);
        g2.setStroke(seriesStroke);

        // get the data point...

        Number x = windData.getX(series, item);
        Number windDir = windData.getWindDirection(series, item);
        Number wforce = windData.getWindForce(series, item);
        double windForce = wforce.doubleValue();

        double wdirt = Math.toRadians(windDir.doubleValue() * (-30.0) - 90.0);

        double ax1, ax2, ay1, ay2, rax2, ray2;

        RectangleEdge domainAxisLocation = plot.getDomainAxisEdge();
        RectangleEdge rangeAxisLocation = plot.getRangeAxisEdge();
        ax1 = domainAxis.valueToJava2D(x.doubleValue(), plotArea, 
                domainAxisLocation);
        ay1 = rangeAxis.valueToJava2D(0.0, plotArea, rangeAxisLocation);

        rax2 = x.doubleValue() + (windForce * Math.cos(wdirt) * 8000000.0);
        ray2 = windForce * Math.sin(wdirt);

        ax2 = domainAxis.valueToJava2D(rax2, plotArea, domainAxisLocation);
        ay2 = rangeAxis.valueToJava2D(ray2, plotArea, rangeAxisLocation);

        int diri = windDir.intValue();
        int forcei = wforce.intValue();
        String dirforce = diri + "-" + forcei;
        Line2D line = new Line2D.Double(ax1, ay1, ax2, ay2);

        g2.draw(line);
        g2.setPaint(Color.blue);
        g2.setFont(new Font("foo", 1, 9));

        g2.drawString(dirforce, (float) ax1, (float) ay1);

        g2.setPaint(seriesPaint);
        g2.setStroke(seriesStroke);

        double alx2, aly2, arx2, ary2;
        double ralx2, raly2, rarx2, rary2;

        double aldir = Math.toRadians(windDir.doubleValue() 
                * (-30.0) - 90.0 - 5.0);
        ralx2 = wforce.doubleValue() * Math.cos(aldir) * 8000000 * 0.8 
        + x.doubleValue();
        raly2 = wforce.doubleValue() * Math.sin(aldir) * 0.8;

        alx2 = domainAxis.valueToJava2D(ralx2, plotArea, domainAxisLocation);
        aly2 = rangeAxis.valueToJava2D(raly2, plotArea, rangeAxisLocation);

        line = new Line2D.Double(alx2, aly2, ax2, ay2);
        g2.draw(line);

        double ardir = Math.toRadians(windDir.doubleValue() 
                * (-30.0) - 90.0 + 5.0);
        rarx2 = wforce.doubleValue() * Math.cos(ardir) * 8000000 * 0.8 
                + x.doubleValue();
        rary2 = wforce.doubleValue() * Math.sin(ardir) * 0.8;

        arx2 = domainAxis.valueToJava2D(rarx2, plotArea, domainAxisLocation);
        ary2 = rangeAxis.valueToJava2D(rary2, plotArea, rangeAxisLocation);

        line = new Line2D.Double(arx2, ary2, ax2, ay2);
        g2.draw(line);

    }

    /**
     * Returns a clone of the renderer.
     * 
     * @return A clone.
     * 
     * @throws CloneNotSupportedException  if the renderer cannot be cloned.
     */
    public Object clone() throws CloneNotSupportedException {
        return super.clone();
    }

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲免费毛片网站| 中文字幕佐山爱一区二区免费| 岛国av在线一区| 亚洲国产精品一区二区久久恐怖片| 精品日韩成人av| 91福利在线免费观看| 国产资源精品在线观看| 亚洲在线观看免费视频| 欧美国产欧美综合| 在线综合亚洲欧美在线视频| 99久久综合色| 国产不卡高清在线观看视频| 男女男精品视频| 一区二区三区高清不卡| 欧美极品少妇xxxxⅹ高跟鞋| 日韩欧美一区二区在线视频| 欧美三级日本三级少妇99| 成人一区二区三区| 韩国一区二区在线观看| 日韩精品欧美精品| 一区二区三区精密机械公司| 日韩一区在线播放| 国产欧美日韩亚州综合| 精品国产乱子伦一区| 在线播放中文一区| 欧美中文字幕亚洲一区二区va在线| 国产.精品.日韩.另类.中文.在线.播放| 三级影片在线观看欧美日韩一区二区| 亚洲欧美经典视频| 亚洲视频电影在线| 国产精品国产馆在线真实露脸| 久久综合久久久久88| 日韩欧美亚洲国产另类 | 免费精品99久久国产综合精品| 亚洲男同性恋视频| 亚洲人成在线观看一区二区| 国产精品久久久久久久蜜臀| 中文字幕精品在线不卡| 欧美国产精品久久| 国产精品午夜免费| 国产精品国产精品国产专区不蜜| 国产精品三级在线观看| 国产嫩草影院久久久久| 国产精品美女久久久久久| 日本一区二区久久| 中文字幕第一区| 国产精品久久久久久久久果冻传媒 | 免费成人在线观看视频| 免费的国产精品| 久久电影网电视剧免费观看| 精品在线亚洲视频| 国产.精品.日韩.另类.中文.在线.播放| 国产成人aaa| 99久久99久久精品免费看蜜桃| 成人精品一区二区三区四区| www..com久久爱| 欧美性欧美巨大黑白大战| 欧美日韩国产一区| 欧美成人官网二区| 国产日韩欧美不卡在线| 国产精品二三区| 亚洲电影一区二区| 精品一二三四区| 成人自拍视频在线观看| 色天使色偷偷av一区二区| 欧美三区在线观看| 亚洲欧洲精品成人久久奇米网| 中文字幕亚洲不卡| 亚洲高清不卡在线观看| 久久99热这里只有精品| 国产精品123| 色老汉av一区二区三区| 3d成人动漫网站| 久久免费偷拍视频| 一区二区三国产精华液| 久久国产视频网| 99热99精品| 日韩视频国产视频| 国产精品视频你懂的| 亚洲不卡av一区二区三区| 精品一区二区精品| 91老师国产黑色丝袜在线| 欧美精品视频www在线观看| 久久夜色精品国产噜噜av| 亚洲欧美另类综合偷拍| 乱一区二区av| 色综合天天综合给合国产| 欧美一区二区三区免费观看视频| 久久精品人人做人人综合| 亚洲综合一区在线| 国产精品88888| 欧美色手机在线观看| 中文在线一区二区| 日本伊人色综合网| 91老司机福利 在线| 精品处破学生在线二十三| 亚洲综合免费观看高清在线观看| 久久精品国产一区二区三区免费看| 91美女在线看| 久久久精品国产99久久精品芒果| 亚洲影院在线观看| 成人的网站免费观看| 日韩午夜中文字幕| 亚洲一区二区高清| 成人av网址在线观看| 亚洲精品一区二区三区香蕉| 亚瑟在线精品视频| 99re这里只有精品视频首页| 久久免费美女视频| 麻豆成人91精品二区三区| 欧美性videosxxxxx| 亚洲视频网在线直播| 成人自拍视频在线观看| xvideos.蜜桃一区二区| 视频一区二区欧美| 欧美日韩一区三区| 亚洲激情图片小说视频| 成人av免费网站| 欧美国产一区在线| 国产成人av电影| 久久亚洲精品国产精品紫薇| 免费成人在线视频观看| 欧美久久久久久久久| 一个色在线综合| 91免费观看在线| 中文字幕一区二区日韩精品绯色| 国产麻豆欧美日韩一区| 精品裸体舞一区二区三区| 日本不卡免费在线视频| 欧美日韩mp4| 视频一区二区不卡| 日韩一区和二区| 日本在线观看不卡视频| 欧美一区二区视频网站| 日韩在线一区二区三区| 欧美女孩性生活视频| 亚洲mv大片欧洲mv大片精品| 欧美性色欧美a在线播放| 亚洲一区av在线| 欧美日韩国产一级二级| 日本伊人色综合网| 欧美va亚洲va香蕉在线| 国内精品伊人久久久久av影院| 日韩三级免费观看| 国产一区二区三区免费播放| 久久丝袜美腿综合| 成人综合婷婷国产精品久久蜜臀| 中文字幕第一区二区| 色综合久久88色综合天天6 | 精品国产污污免费网站入口 | 色系网站成人免费| 亚洲精品国产第一综合99久久| 色综合视频一区二区三区高清| 亚洲激情网站免费观看| 欧美老肥妇做.爰bbww视频| 视频在线观看国产精品| 精品久久国产老人久久综合| 国产成人在线网站| 最好看的中文字幕久久| 欧美日韩一区二区三区在线| 美腿丝袜亚洲色图| 欧美韩日一区二区三区| 91美女蜜桃在线| 视频在线在亚洲| 久久久午夜精品理论片中文字幕| 成人高清伦理免费影院在线观看| 亚洲欧洲制服丝袜| 91麻豆精品国产91久久久久久| 狠狠网亚洲精品| 亚洲素人一区二区| 欧美人妇做爰xxxⅹ性高电影| 老司机精品视频导航| 国产精品欧美极品| 欧美精选一区二区| 精久久久久久久久久久| 亚洲少妇最新在线视频| 欧美一区二区三区四区视频 | 欧美人伦禁忌dvd放荡欲情| 国产曰批免费观看久久久| 亚洲三级在线看| 日韩精品专区在线影院重磅| av中文字幕在线不卡| 日本va欧美va精品| 国产精品国产三级国产| 日韩限制级电影在线观看| 99re这里只有精品首页| 免费成人结看片| 亚洲三级在线免费| 欧美精品一区二区三| 在线观看91视频| 高清视频一区二区| 青草av.久久免费一区| 亚洲欧洲av色图| 欧美成人伊人久久综合网| 色88888久久久久久影院按摩| 国内精品伊人久久久久av影院| 亚洲国产欧美一区二区三区丁香婷| 久久久久久久久久久久电影 | 狠狠狠色丁香婷婷综合激情 | 99久久久无码国产精品|