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

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

?? standardxyitemrenderer.java

?? jfreechart1.0.1 jsp繪制圖表的開發(fā)包
?? JAVA
?? 第 1 頁 / 共 3 頁
字號:
        Boolean flag = this.seriesShapesFilled.getBoolean(series);
        if (flag != null) {
            return flag.booleanValue();
        }
        else {
            return this.baseShapesFilled;
        }

    }

    /**
     * Sets the 'shapes filled' for ALL series.
     *
     * @param filled  the flag.
     */
    public void setShapesFilled(boolean filled) {
        // here we use BooleanUtilities to remain compatible with JDKs < 1.4 
        setShapesFilled(BooleanUtilities.valueOf(filled));
    }

    /**
     * Sets the 'shapes filled' for ALL series.
     *
     * @param filled  the flag (<code>null</code> permitted).
     */
    public void setShapesFilled(Boolean filled) {
        this.shapesFilled = filled;
    }

    /**
     * Sets the 'shapes filled' flag for a series.
     *
     * @param series  the series index (zero-based).
     * @param flag  the flag.
     */
    public void setSeriesShapesFilled(int series, Boolean flag) {
        this.seriesShapesFilled.setBoolean(series, flag);
    }

    /**
     * Returns the base 'shape filled' attribute.
     *
     * @return The base flag.
     */
    public boolean getBaseShapesFilled() {
        return this.baseShapesFilled;
    }

    /**
     * Sets the base 'shapes filled' flag.
     *
     * @param flag  the flag.
     */
    public void setBaseShapesFilled(boolean flag) {
        this.baseShapesFilled = flag;
    }

    /**
     * Returns true if lines are being plotted by the renderer.
     *
     * @return <code>true</code> if lines are being plotted by the renderer.
     */
    public boolean getPlotLines() {
        return this.plotLines;
    }

    /**
     * Sets the flag that controls whether or not a line is plotted between 
     * each data point.
     *
     * @param flag  the flag.
     */
    public void setPlotLines(boolean flag) {
        if (this.plotLines != flag) {
            this.plotLines = flag;
            notifyListeners(new RendererChangeEvent(this));
        }
    }

    /**
     * Returns the gap threshold type (relative or absolute).
     * 
     * @return The type.
     */
    public UnitType getGapThresholdType() {
        return this.gapThresholdType;
    }
    
    /**
     * Sets the gap threshold type.
     * 
     * @param thresholdType  the type (<code>null</code> not permitted).
     */
    public void setGapThresholdType(UnitType thresholdType) {
        if (thresholdType == null) {
            throw new IllegalArgumentException(
                "Null 'thresholdType' argument."
            );
        }
        this.gapThresholdType = thresholdType;
        notifyListeners(new RendererChangeEvent(this));
    }
    
    /**
     * Returns the gap threshold for discontinuous lines.
     *
     * @return The gap threshold.
     */
    public double getGapThreshold() {
        return this.gapThreshold;
    }

    /**
     * Sets the gap threshold for discontinuous lines.
     *
     * @param t  the threshold.
     */
    public void setGapThreshold(double t) {
        this.gapThreshold = t;
        notifyListeners(new RendererChangeEvent(this));
    }

    /**
     * Returns true if images are being plotted by the renderer.
     *
     * @return <code>true</code> if images are being plotted by the renderer.
     */
    public boolean getPlotImages() {
        return this.plotImages;
    }

    /**
     * Sets the flag that controls whether or not an image is drawn at each 
     * data point.
     *
     * @param flag  the flag.
     */
    public void setPlotImages(boolean flag) {
        if (this.plotImages != flag) {
            this.plotImages = flag;
            notifyListeners(new RendererChangeEvent(this));
        }
    }

    /**
     * Returns true if lines should be discontinuous.
     *
     * @return <code>true</code> if lines should be discontinuous.
     */
    public boolean getPlotDiscontinuous() {
        return this.plotDiscontinuous;
    }

    /**
     * Returns a flag that controls whether or not each series is drawn as a 
     * single path.
     * 
     * @return A boolean.
     */
    public boolean getDrawSeriesLineAsPath() {
        return this.drawSeriesLineAsPath;
    }
    
    /**
     * Sets the flag that controls whether or not each series is drawn as a 
     * single path.
     * 
     * @param flag  the flag.
     */
    public void setDrawSeriesLineAsPath(boolean flag) {
        this.drawSeriesLineAsPath = flag;
    }
    
    /**
     * Returns the shape used to represent a line in the legend.
     * 
     * @return The legend line (never <code>null</code>).
     */
    public Shape getLegendLine() {
        return this.legendLine;   
    }
    
    /**
     * Sets the shape used as a line in each legend item and sends a 
     * {@link RendererChangeEvent} to all registered listeners.
     * 
     * @param line  the line (<code>null</code> not permitted).
     */
    public void setLegendLine(Shape line) {
        if (line == null) {
            throw new IllegalArgumentException("Null 'line' argument.");   
        }
        this.legendLine = line;
        notifyListeners(new RendererChangeEvent(this));
    }

    /**
     * Returns a legend item for a series.
     *
     * @param datasetIndex  the dataset index (zero-based).
     * @param series  the series index (zero-based).
     *
     * @return A legend item for the series.
     */
    public LegendItem getLegendItem(int datasetIndex, int series) {
        XYPlot plot = getPlot();
        if (plot == null) {
            return null;
        }
        LegendItem result = null;
        XYDataset dataset = plot.getDataset(datasetIndex);
        if (dataset != null) {
            if (getItemVisible(series, 0)) {
                String label = getLegendItemLabelGenerator().generateLabel(
                    dataset, series
                );
                String description = label;
                String toolTipText = null;
                if (getLegendItemToolTipGenerator() != null) {
                    toolTipText = getLegendItemToolTipGenerator().generateLabel(
                        dataset, series
                    );
                }
                String urlText = null;
                if (getLegendItemURLGenerator() != null) {
                    urlText = getLegendItemURLGenerator().generateLabel(
                        dataset, series
                    );
                }
                Shape shape = getSeriesShape(series);
                boolean shapeFilled = getSeriesShapesFilled(series);
                Paint paint = getSeriesPaint(series);
                Paint linePaint = paint;
                Stroke lineStroke = getSeriesStroke(series);
                result = new LegendItem(label, description, toolTipText, 
                        urlText, this.baseShapesVisible, shape, shapeFilled,
                        paint, !shapeFilled, paint, lineStroke, 
                        this.plotLines, this.legendLine, lineStroke, linePaint);
            }
        }
        return result;
    }

    /**
     * Records the state for the renderer.  This is used to preserve state 
     * information between calls to the drawItem() method for a single chart 
     * drawing.
     */
    public static class State extends XYItemRendererState {
        
        /** The path for the current series. */
        public GeneralPath seriesPath;
        
        /** 
         * A flag that indicates if the last (x, y) point was 'good' 
         * (non-null). 
         */
        private boolean lastPointGood;
        
        /**
         * Creates a new state instance.
         * 
         * @param info  the plot rendering info.
         */
        public State(PlotRenderingInfo info) {
            super(info);
        }
        
        /**
         * Returns a flag that indicates if the last point drawn (in the 
         * current series) was 'good' (non-null).
         * 
         * @return A boolean.
         */
        public boolean isLastPointGood() {
            return this.lastPointGood;
        }
        
        /**
         * Sets a flag that indicates if the last point drawn (in the current 
         * series) was 'good' (non-null).
         * 
         * @param good  the flag.
         */
        public void setLastPointGood(boolean good) {
            this.lastPointGood = good;
        }
    }
    
    /**
     * Initialises the renderer.
     * <P>
     * This method will be called before the first item is rendered, giving the
     * renderer an opportunity to initialise any state information it wants to 
     * maintain. The renderer can do nothing if it chooses.
     *
     * @param g2  the graphics device.
     * @param dataArea  the area inside the axes.
     * @param plot  the plot.
     * @param data  the data.
     * @param info  an optional info collection object to return data back to 
     *              the caller.
     *
     * @return The renderer state.
     */
    public XYItemRendererState initialise(Graphics2D g2,
                                          Rectangle2D dataArea,
                                          XYPlot plot,
                                          XYDataset data,
                                          PlotRenderingInfo info) {

        State state = new State(info);
        state.seriesPath = new GeneralPath();
        return state;

    }
    
    /**
     * Draws the visual representation of a single data item.
     *
     * @param g2  the graphics device.
     * @param state  the renderer state.
     * @param dataArea  the area within which the data is being drawn.
     * @param info  collects information about the drawing.
     * @param plot  the plot (can be used to obtain standard color information 
     *              etc).
     * @param domainAxis  the domain axis.
     * @param rangeAxis  the range 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,

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
丁香啪啪综合成人亚洲小说| 日韩一区二区三区视频在线观看| 欧美精品一区二区精品网| 精品无人码麻豆乱码1区2区| 欧美不卡视频一区| 99综合影院在线| 日韩av电影天堂| 欧美国产精品v| 欧美日韩精品一二三区| 另类欧美日韩国产在线| 亚洲欧美一区二区不卡| 欧美本精品男人aⅴ天堂| 97久久精品人人做人人爽| 免费在线观看一区| 专区另类欧美日韩| 精品久久久久99| 欧美色图第一页| 国产精品亚洲第一区在线暖暖韩国 | 色妹子一区二区| 久久精品国产澳门| 亚洲三级在线看| 久久免费视频一区| 欧美日韩你懂的| 不卡的电影网站| 久久99精品久久久久久动态图 | 一区二区三区精品| 国产欧美精品一区二区色综合| 欧美色网一区二区| av在线播放一区二区三区| 久久99这里只有精品| 亚洲一区二区在线视频| 亚洲欧洲精品天堂一级| 久久久一区二区三区| 日韩三级在线观看| 欧美精品vⅰdeose4hd| 在线视频国内一区二区| 91麻豆国产精品久久| 懂色av一区二区夜夜嗨| 国产一区二区免费视频| 久久精品国产精品亚洲精品| 青椒成人免费视频| 日韩激情一二三区| 日韩成人一级大片| 日本午夜一区二区| 午夜视黄欧洲亚洲| 亚洲福利一区二区| 丝袜脚交一区二区| 日本欧美在线看| 日韩电影在线免费| 免费看精品久久片| 蓝色福利精品导航| 久久国产精品99精品国产| 久久狠狠亚洲综合| 韩国av一区二区三区四区 | 久久久久久97三级| 久久夜色精品国产噜噜av| 欧美videos大乳护士334| 日韩欧美高清dvd碟片| 2017欧美狠狠色| 久久久99精品免费观看| 国产精品视频九色porn| 尤物视频一区二区| 日韩avvvv在线播放| 激情综合色综合久久| 国产99精品在线观看| 99国产精品久| 欧美日韩三级在线| 欧美精品一区二区高清在线观看| 国产清纯在线一区二区www| 国产精品午夜春色av| 一区二区三区四区乱视频| 性欧美大战久久久久久久久| 七七婷婷婷婷精品国产| 国产成人在线影院| 欧美视频一区在线| 久久影院视频免费| 亚洲日本一区二区三区| 日韩精品福利网| 99热精品一区二区| 制服丝袜激情欧洲亚洲| 国产欧美一区二区三区在线老狼| 亚洲精品国产一区二区精华液 | 91啪亚洲精品| 欧美片在线播放| 久久天堂av综合合色蜜桃网| 一区二区三区精品视频| 激情五月婷婷综合| 欧美日韩综合一区| 亚洲国产精华液网站w| 亚洲第一综合色| 粉嫩aⅴ一区二区三区四区| 欧美日韩精品欧美日韩精品一综合| 国产亚洲视频系列| 午夜久久久久久久久久一区二区| 成人h动漫精品一区二| 91精品久久久久久久久99蜜臂| 国产欧美日韩视频在线观看| 亚洲成av人片一区二区梦乃| 国产91精品免费| 日韩一区二区三免费高清| 专区另类欧美日韩| 国产传媒一区在线| 337p粉嫩大胆色噜噜噜噜亚洲| 亚洲成人激情社区| 色久优优欧美色久优优| 国产精品久久免费看| 国产剧情一区在线| 欧美大片在线观看一区二区| 婷婷国产v国产偷v亚洲高清| 91视频com| 国产精品日产欧美久久久久| 国精产品一区一区三区mba视频 | 国产一区高清在线| 欧美一a一片一级一片| ㊣最新国产の精品bt伙计久久| 国产专区综合网| xvideos.蜜桃一区二区| 日韩不卡手机在线v区| 欧美日本一区二区| 午夜精品福利一区二区三区av | 国产精品一区二区在线看| 日韩午夜三级在线| 奇米精品一区二区三区在线观看| 欧美日韩午夜在线| 午夜av电影一区| 欧美男女性生活在线直播观看| 一区二区三区四区在线| 色婷婷精品大视频在线蜜桃视频| 中文字幕亚洲视频| 99久久国产免费看| 亚洲免费在线视频一区 二区| 色综合 综合色| 一区二区高清免费观看影视大全| 色婷婷久久一区二区三区麻豆| 一区二区三区在线视频播放| 在线观看日韩电影| 蜜桃视频在线观看一区| 精品福利一区二区三区免费视频| 精品在线播放午夜| 亚洲国产成人自拍| 91成人国产精品| 日韩高清一区二区| 国产亚洲短视频| 99久久精品久久久久久清纯| 成人欧美一区二区三区黑人麻豆| 日本精品一区二区三区四区的功能| 亚洲第一成年网| 久久综合九色综合97婷婷女人| 成人性生交大片免费看中文| 亚洲精品欧美二区三区中文字幕| 欧美另类z0zxhd电影| 精品一区二区三区免费观看| 国产精品美女久久久久aⅴ| 精品视频一区二区三区免费| 免费不卡在线观看| 亚洲欧洲日韩在线| 日韩午夜av电影| 99在线精品视频| 精品亚洲成a人在线观看| 国产精品乱人伦| 日韩精品影音先锋| 91精彩视频在线观看| 韩日精品视频一区| 亚洲国产精品欧美一二99| 国产视频在线观看一区二区三区| 欧洲精品一区二区三区在线观看| 精品一区二区三区久久久| 亚洲乱码国产乱码精品精小说 | 国产麻豆精品theporn| 久久免费的精品国产v∧| 在线视频综合导航| 国产麻豆成人精品| 日产国产高清一区二区三区| 自拍av一区二区三区| 久久亚洲欧美国产精品乐播| 一本到高清视频免费精品| 国产福利91精品一区二区三区| 亚洲成人动漫在线免费观看| ...xxx性欧美| 中文幕一区二区三区久久蜜桃| 欧美大片免费久久精品三p| 色女孩综合影院| 91在线精品一区二区| 国产成人av影院| 久久国产免费看| 日韩va亚洲va欧美va久久| 亚洲一区二区四区蜜桃| 亚洲图片另类小说| 国产精品国产三级国产aⅴ原创| 久久久噜噜噜久噜久久综合| 欧美成人性战久久| 日韩一区二区三区电影| 欧美精品一二三| 欧美吻胸吃奶大尺度电影 | 欧美电视剧免费全集观看| 欧美美女黄视频| 欧美疯狂性受xxxxx喷水图片| 欧洲精品一区二区三区在线观看| 91视频国产观看| 在线观看一区不卡|