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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? abstractcategoryitemrenderer.java

?? jfreechart1.0.1 jsp繪制圖表的開發(fā)包
?? JAVA
?? 第 1 頁 / 共 4 頁
字號:
    public CategoryToolTipGenerator getToolTipGenerator() {
        return this.toolTipGenerator;    
    }
    
    /**
     * Sets the tool tip generator for ALL series and sends a 
     * {@link org.jfree.chart.event.RendererChangeEvent} to all registered 
     * listeners.
     * 
     * @param generator  the generator (<code>null</code> permitted).
     */
    public void setToolTipGenerator(CategoryToolTipGenerator generator) {
        this.toolTipGenerator = generator;
        notifyListeners(new RendererChangeEvent(this));
    }

    /**
     * Returns the tool tip generator for the specified series (a "layer 1" 
     * generator).
     *
     * @param series  the series index (zero-based).
     *
     * @return The tool tip generator (possibly <code>null</code>).
     */
    public CategoryToolTipGenerator getSeriesToolTipGenerator(int series) {
        return (CategoryToolTipGenerator) this.toolTipGeneratorList.get(series);
    }

    /**
     * Sets the tool tip generator for a series and sends a 
     * {@link org.jfree.chart.event.RendererChangeEvent} to all registered 
     * listeners.
     *
     * @param series  the series index (zero-based).
     * @param generator  the generator (<code>null</code> permitted).
     */
    public void setSeriesToolTipGenerator(int series, 
                                          CategoryToolTipGenerator generator) {
        this.toolTipGeneratorList.set(series, generator);
        notifyListeners(new RendererChangeEvent(this));
    }

    /**
     * Returns the base tool tip generator (the "layer 2" generator).
     *
     * @return The tool tip generator (possibly <code>null</code>).
     */
    public CategoryToolTipGenerator getBaseToolTipGenerator() {
        return this.baseToolTipGenerator;
    }

    /**
     * Sets the base tool tip generator and sends a 
     * {@link org.jfree.chart.event.RendererChangeEvent} to all registered 
     * listeners.
     *
     * @param generator  the generator (<code>null</code> permitted).
     */
    public void setBaseToolTipGenerator(CategoryToolTipGenerator generator) {
        this.baseToolTipGenerator = generator;
        notifyListeners(new RendererChangeEvent(this));
    }

    // URL GENERATOR
    
    /**
     * Returns the URL generator for a data item.  This method just calls the
     * getSeriesItemURLGenerator method, but you can override this behaviour if
     * you want to.
     *
     * @param row  the row index (zero based).
     * @param column  the column index (zero based).
     *
     * @return The URL generator.
     */
    public CategoryURLGenerator getItemURLGenerator(int row, int column) {
        return getSeriesItemURLGenerator(row);
    }

    /**
     * Returns the URL generator for a series.
     *
     * @param series  the series index (zero based).
     *
     * @return The URL generator for the series.
     */
    public CategoryURLGenerator getSeriesItemURLGenerator(int series) {

        // return the generator for ALL series, if there is one...
        if (this.itemURLGenerator != null) {
            return this.itemURLGenerator;
        }

        // otherwise look up the generator table
        CategoryURLGenerator generator
            = (CategoryURLGenerator) this.itemURLGeneratorList.get(series);
        if (generator == null) {
            generator = this.baseItemURLGenerator;
        }
        return generator;

    }

    /**
     * Sets the item URL generator for ALL series.
     *
     * @param generator  the generator.
     */
    public void setItemURLGenerator(CategoryURLGenerator generator) {
        this.itemURLGenerator = generator;
    }

    /**
     * Sets the URL generator for a series.
     *
     * @param series  the series index (zero based).
     * @param generator  the generator.
     */
    public void setSeriesItemURLGenerator(int series, 
                                          CategoryURLGenerator generator) {
        this.itemURLGeneratorList.set(series, generator);
    }

    /**
     * Returns the base item URL generator.
     *
     * @return The item URL generator.
     */
    public CategoryURLGenerator getBaseItemURLGenerator() {
        return this.baseItemURLGenerator;
    }

    /**
     * Sets the base item URL generator.
     *
     * @param generator  the item URL generator.
     */
    public void setBaseItemURLGenerator(CategoryURLGenerator generator) {
        this.baseItemURLGenerator = generator;
    }

    /**
     * Returns the number of rows in the dataset.  This value is updated in the
     * {@link AbstractCategoryItemRenderer#initialise} method.
     *
     * @return The row count.
     */
    public int getRowCount() {
        return this.rowCount;
    }

    /**
     * Returns the number of columns in the dataset.  This value is updated in 
     * the {@link AbstractCategoryItemRenderer#initialise} method.
     *
     * @return The column count.
     */
    public int getColumnCount() {
        return this.columnCount;
    }

    /**
     * Initialises the renderer and returns a state object that will be used 
     * for the remainder of the drawing process for a single chart.  The state 
     * object allows for the fact that the renderer may be used simultaneously 
     * by multiple threads (each thread will work with a separate state object).
     * <P>
     * Stores a reference to the {@link PlotRenderingInfo} object (which might 
     * be <code>null</code>), and then sets the useCategoriesPaint flag 
     * according to the special case conditions a) there is only one series 
     * and b) the categoriesPaint array is not null.
     *
     * @param g2  the graphics device.
     * @param dataArea  the data area.
     * @param plot  the plot.
     * @param rendererIndex  the renderer index.
     * @param info  an object for returning information about the structure of 
     *              the plot (<code>null</code> permitted).
     * 
     * @return The renderer state.
     *
     */
    public CategoryItemRendererState initialise(Graphics2D g2, 
                                                Rectangle2D dataArea,
                                                CategoryPlot plot, 
                                                int rendererIndex,
                                                PlotRenderingInfo info) {

        setPlot(plot);
        CategoryDataset data = plot.getDataset(rendererIndex);
        if (data != null) {
            this.rowCount = data.getRowCount();
            this.columnCount = data.getColumnCount();
        }
        else {
            this.rowCount = 0;
            this.columnCount = 0;
        }
        return new CategoryItemRendererState(info);

    }

    /**
     * Returns the range of values the renderer requires to display all the 
     * items from the specified dataset.
     * 
     * @param dataset  the dataset (<code>null</code> permitted).
     * 
     * @return The range (or <code>null</code> if the dataset is 
     *         <code>null</code> or empty).
     */
    public Range findRangeBounds(CategoryDataset dataset) {
        return DatasetUtilities.findRangeBounds(dataset);   
    }

    /**
     * Draws a background for the data area.  The default implementation just 
     * gets the plot to draw the outline, but some renderers will override this
     * behaviour.
     *
     * @param g2  the graphics device.
     * @param plot  the plot.
     * @param dataArea  the data area.
     */
    public void drawBackground(Graphics2D g2,
                               CategoryPlot plot,
                               Rectangle2D dataArea) {

        plot.drawBackground(g2, dataArea);

    }

    /**
     * Draws an outline for the data area.  The default implementation just 
     * gets the plot to draw the outline, but some renderers will override this
     * behaviour.
     *
     * @param g2  the graphics device.
     * @param plot  the plot.
     * @param dataArea  the data area.
     */
    public void drawOutline(Graphics2D g2,
                            CategoryPlot plot,
                            Rectangle2D dataArea) {

        plot.drawOutline(g2, dataArea);

    }

    /**
     * Draws a grid line against the domain axis.
     * <P>
     * Note that this default implementation assumes that the horizontal axis 
     * is the domain axis. If this is not the case, you will need to override 
     * this method.
     *
     * @param g2  the graphics device.
     * @param plot  the plot.
     * @param dataArea  the area for plotting data (not yet adjusted for any 
     *                  3D effect).
     * @param value  the Java2D value at which the grid line should be drawn.
     */
    public void drawDomainGridline(Graphics2D g2,
                                   CategoryPlot plot,
                                   Rectangle2D dataArea,
                                   double value) {

        Line2D line = null;
        PlotOrientation orientation = plot.getOrientation();

        if (orientation == PlotOrientation.HORIZONTAL) {
            line = new Line2D.Double(
                dataArea.getMinX(), value, dataArea.getMaxX(), value
            );
        }
        else if (orientation == PlotOrientation.VERTICAL) {
            line = new Line2D.Double(
                value, dataArea.getMinY(), value, dataArea.getMaxY()
            );
        }

        Paint paint = plot.getDomainGridlinePaint();
        if (paint == null) {
            paint = CategoryPlot.DEFAULT_GRIDLINE_PAINT;
        }
        g2.setPaint(paint);

        Stroke stroke = plot.getDomainGridlineStroke();
        if (stroke == null) {
            stroke = CategoryPlot.DEFAULT_GRIDLINE_STROKE;
        }
        g2.setStroke(stroke);

        g2.draw(line);

    }

    /**
     * Draws a grid line against the range axis.
     *
     * @param g2  the graphics device.
     * @param plot  the plot.
     * @param axis  the value axis.
     * @param dataArea  the area for plotting data (not yet adjusted for any 
     *                  3D effect).
     * @param value  the value at which the grid line should be drawn.
     *
     */
    public void drawRangeGridline(Graphics2D g2,
                                  CategoryPlot plot,
                                  ValueAxis axis,
                                  Rectangle2D dataArea,
                                  double value) {

        Range range = axis.getRange();
        if (!range.contains(value)) {
            return;
        }

        PlotOrientation orientation = plot.getOrientation();
        double v = axis.valueToJava2D(value, dataArea, plot.getRangeAxisEdge());
        Line2D line = null;
        if (orientation == PlotOrientation.HORIZONTAL) {
            line = new Line2D.Double(
                v, dataArea.getMinY(), v, dataArea.getMaxY()
            );
        }
        else if (orientation == PlotOrientation.VERTICAL) {
            line = new Line2D.Double(
                dataArea.getMinX(), v, dataArea.getMaxX(), v
            );
        }

        Paint paint = plot.getRangeGridlinePaint();
        if (paint == null) {
            paint = CategoryPlot.DEFAULT_GRIDLINE_PAINT;
        }
        g2.setPaint(paint);

        Stroke stroke = plot.getRangeGridlineStroke();
        if (stroke == null) {
            stroke = CategoryPlot.DEFAULT_GRIDLINE_STROKE;
        }
        g2.setStroke(stroke);

        g2.draw(line);

    }

    /**
     * Draws a marker for the domain axis.
     *
     * @param g2  the graphics device (not <code>null</code>).
     * @param plot  the plot (not <code>null</code>).
     * @param axis  the range axis (not <code>null</code>).
     * @param marker  the marker to be drawn (not <code>null</code>).
     * @param dataArea  the area inside the axes (not <code>null</code>).
     */
    public void drawDomainMarker(Graphics2D g2,
                                 CategoryPlot plot,
                                 CategoryAxis axis,
                                 CategoryMarker marker,
                                 Rectangle2D dataArea) {

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产suv一区二区三区88区| 一区二区三区在线免费播放| 久久99精品网久久| 精品国产91亚洲一区二区三区婷婷| 五月激情丁香一区二区三区| 欧美一卡在线观看| 国产一区二区在线电影| 国产精品美女一区二区| 91亚洲精品乱码久久久久久蜜桃| 一区二区三区国产精品| 91精品国产综合久久精品| 免费欧美在线视频| 国产精品丝袜黑色高跟| 色诱视频网站一区| 秋霞成人午夜伦在线观看| 久久久亚洲高清| 91同城在线观看| 天使萌一区二区三区免费观看| 欧美成人在线直播| www.亚洲激情.com| 亚洲超丰满肉感bbw| 亚洲精品一区二区三区福利| 91在线视频官网| 视频在线观看国产精品| 久久久亚洲综合| 欧美色大人视频| 国产精品自拍在线| 亚洲高清免费一级二级三级| www久久久久| 色婷婷综合五月| 99国产精品一区| 视频在线观看91| 国产精品国产三级国产aⅴ原创| 日本高清成人免费播放| 国内精品久久久久影院一蜜桃| 国产精品久久久爽爽爽麻豆色哟哟| 欧美日韩一级大片网址| 国产毛片精品一区| 日欧美一区二区| 国产精品国产精品国产专区不蜜| 8v天堂国产在线一区二区| 不卡av在线免费观看| 久久精品国产99国产| 一区二区三区在线观看网站| 欧美激情一区在线| 日韩午夜中文字幕| 在线精品观看国产| 成人短视频下载| 美女脱光内衣内裤视频久久网站| 亚洲精品视频在线看| 久久久亚洲精品一区二区三区| 欧美妇女性影城| 日本高清无吗v一区| 国产mv日韩mv欧美| 国内精品自线一区二区三区视频| 亚洲福利一区二区三区| 亚洲欧洲日本在线| 国产日产欧美精品一区二区三区| 欧美一区二区观看视频| 欧美日韩综合在线免费观看| 91丝袜美腿高跟国产极品老师| 韩国一区二区在线观看| 日本少妇一区二区| 青青草视频一区| 丝袜美腿高跟呻吟高潮一区| 夜夜嗨av一区二区三区四季av | 国产免费久久精品| 欧美r级在线观看| 日韩丝袜美女视频| 欧美一区二区免费| 日韩视频免费观看高清完整版| 欧美撒尿777hd撒尿| 欧美日韩成人高清| 欧美日韩在线电影| 国产无一区二区| 久久嫩草精品久久久久| 久久久一区二区三区捆绑**| 26uuu另类欧美| 国产欧美中文在线| 国产网站一区二区三区| 久久久精品中文字幕麻豆发布| 日韩欧美亚洲一区二区| 亚洲精品一区二区三区四区高清| 精品国产免费视频| 国产性色一区二区| 国产精品理论片| 亚洲欧美经典视频| 亚洲韩国一区二区三区| 亚洲v精品v日韩v欧美v专区| 蜜臀久久99精品久久久画质超高清| 日本美女一区二区三区| 精品一区二区三区在线观看国产 | 欧美日韩亚洲国产综合| 欧美日韩在线亚洲一区蜜芽| 欧美一区二区二区| 久久久久国产精品麻豆ai换脸 | 亚洲成a人片在线观看中文| 日日夜夜精品免费视频| 老司机精品视频导航| 国产一区二区三区视频在线播放| 韩国欧美国产一区| 成人黄色在线网站| 欧美日韩三级视频| 日韩精品在线一区二区| 国产精品欧美精品| 亚洲综合在线五月| 久久国产精品99精品国产| 日韩午夜激情视频| 久久综合九色欧美综合狠狠| 亚洲欧美在线观看| 亚洲bt欧美bt精品777| 国产综合色在线| 99vv1com这只有精品| 欧美日本在线视频| 久久蜜桃av一区二区天堂| 亚洲精品国产一区二区精华液| 青青国产91久久久久久| 国产iv一区二区三区| 欧美精品1区2区3区| 国产亚洲欧美日韩俺去了| 亚洲成人一区在线| 成人ar影院免费观看视频| 欧美群妇大交群中文字幕| 国产日韩在线不卡| 亚洲chinese男男1069| 成人午夜电影小说| 日韩欧美国产三级| 亚洲网友自拍偷拍| 丁香六月久久综合狠狠色| 欧美一区二区三区啪啪| 中文字幕亚洲区| 黄色日韩网站视频| 在线不卡免费av| 亚洲天堂网中文字| 亚洲综合偷拍欧美一区色| 成人精品一区二区三区中文字幕| 日韩欧美一区二区在线视频| 亚洲欧美日韩国产一区二区三区| 国产精品久久毛片av大全日韩| 午夜婷婷国产麻豆精品| 成人激情校园春色| 精品奇米国产一区二区三区| 亚洲一区二区三区影院| 懂色av一区二区三区蜜臀| 欧美一级欧美三级| 亚洲成人777| 色婷婷亚洲精品| 亚洲视频网在线直播| 国产精品66部| 久久亚洲一区二区三区四区| 免费三级欧美电影| 7777精品久久久大香线蕉| 亚洲午夜私人影院| 91女厕偷拍女厕偷拍高清| 国产日韩av一区| 国产精品99久久不卡二区| 2021久久国产精品不只是精品| 日韩不卡一区二区三区| 欧美情侣在线播放| 天天色图综合网| 欧美三级三级三级| 亚洲一区在线观看网站| 日本精品一级二级| 亚洲嫩草精品久久| 日本电影欧美片| 亚洲综合丝袜美腿| 在线国产电影不卡| 亚洲18影院在线观看| 欧美午夜精品理论片a级按摩| 亚洲精选在线视频| 欧美影院午夜播放| 亚洲一区在线播放| 欧美精品日韩综合在线| 日韩二区在线观看| 日韩视频中午一区| 精品一区二区综合| 国产欧美一区二区精品秋霞影院| 国产在线不卡视频| 国产欧美精品在线观看| gogo大胆日本视频一区| 亚洲免费大片在线观看| 色呦呦国产精品| 亚洲国产视频a| 欧美一区二区在线不卡| 精品综合免费视频观看| 国产日韩欧美激情| 91在线看国产| 午夜一区二区三区视频| 欧美一区二区黄| 国产成都精品91一区二区三| 国产精品国产三级国产有无不卡| 91视频一区二区三区| 亚洲成人一区二区| 2023国产一二三区日本精品2022| 国产999精品久久久久久绿帽| 亚洲欧美电影院| 日韩免费福利电影在线观看| 国产精品一区久久久久| 亚洲激情五月婷婷| 精品日韩一区二区三区免费视频|