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

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

?? jfreechart.java

?? Web圖形化的Java庫
?? JAVA
?? 第 1 頁 / 共 4 頁
字號:
     * @param alignment  the alignment.
     */
    public void setBackgroundImageAlignment(int alignment) {
        if (this.backgroundImageAlignment != alignment) {
            this.backgroundImageAlignment = alignment;
            fireChartChanged();
        }
    }

    /**
     * Returns the alpha-transparency for the chart's background image.
     *
     * @return the alpha-transparency.
     */
    public float getBackgroundImageAlpha() {

        return this.backgroundImageAlpha;

    }

    /**
     * Sets the alpha-transparency for the chart's background image.
     * Registered listeners are notified that the chart has been changed.
     *
     * @param alpha  the alpha value.
     */
    public void setBackgroundImageAlpha(float alpha) {

        if (this.backgroundImageAlpha != alpha) {
            this.backgroundImageAlpha = alpha;
            fireChartChanged();
        }

    }

    /**
     * Returns a flag that controls whether or not change events are sent to registered listeners.
     *
     * @return <code>true</code> or <code>false</code>.
     */
    public boolean isNotify() {
        return this.notify;
    }

    /**
     * Sets a flag that controls whether or not listeners receive {@link ChartChangeEvent}
     * notifications.
     *
     * @param notify  a boolean.
     */
    public void setNotify(boolean notify) {
        this.notify = notify;
        // if the flag is being set to true, there may be queued up changes...
        if (notify) {
            notifyListeners(new ChartChangeEvent(this));
        }
    }

    /**
     * Draws the chart on a Java 2D graphics device (such as the screen or a
     * printer).
     * <P>
     * This method is the focus of the entire JFreeChart library.
     *
     * @param g2  the graphics device.
     * @param area  the area within which the chart should be drawn.
     */
    public void draw(Graphics2D g2, Rectangle2D area) {
        draw(g2, area, null);
    }

    /**
     * Draws the chart on a Java 2D graphics device (such as the screen or a
     * printer).
     * <P>
     * This method is the focus of the entire JFreeChart library.
     *
     * @param g2  the graphics device.
     * @param chartArea  the area within which the chart should be drawn.
     * @param info  records info about the drawing (null means collect no info).
     */
    public void draw(Graphics2D g2, Rectangle2D chartArea, ChartRenderingInfo info) {

        notifyListeners(new ChartProgressEvent(this, this, ChartProgressEvent.DRAWING_STARTED, 0));

        // record the chart area, if info is requested...
        if (info != null) {
            info.clear();
            info.setChartArea(chartArea);
        }

        // ensure no drawing occurs outside chart area...
        Shape savedClip = g2.getClip();
        g2.clip(chartArea);

        g2.addRenderingHints(this.renderingHints);

        // set anti-alias...
        if (antialias) {
            g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
                                RenderingHints.VALUE_ANTIALIAS_ON);
        }
        else {
            g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
                                RenderingHints.VALUE_ANTIALIAS_OFF);
        }
        
        // draw the chart background...
        if (backgroundPaint != null) {
            g2.setPaint(backgroundPaint);
            g2.fill(chartArea);
        }

        if (backgroundImage != null) {
            Composite originalComposite = g2.getComposite();
            g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER,
                                                       this.backgroundImageAlpha));
            Rectangle2D dest = new Rectangle2D.Double(0.0, 0.0,
                                                      backgroundImage.getWidth(null),
                                                      backgroundImage.getHeight(null));
            Align.align(dest, chartArea, this.backgroundImageAlignment);
            g2.drawImage(this.backgroundImage,
                         (int) dest.getX(), (int) dest.getY(),
                         (int) dest.getWidth(), (int) dest.getHeight(),
                         null);
            g2.setComposite(originalComposite);
        }

        if (isBorderVisible()) {
            Paint paint = getBorderPaint();
            Stroke stroke = getBorderStroke();
            if (paint != null && stroke != null) {
                Rectangle2D borderArea = new Rectangle2D.Double(
                    chartArea.getX(), chartArea.getY(),
                    chartArea.getWidth() - 1.0, chartArea.getHeight() - 1.0
                );
                g2.setPaint(paint);
                g2.setStroke(stroke);
                g2.draw(borderArea);
            }
        }

        // draw the title and subtitles...
        Rectangle2D nonTitleArea = new Rectangle2D.Double();
        nonTitleArea.setRect(chartArea);

        if (this.title != null) {
            drawTitle(this.title, g2, nonTitleArea);
        }

        Iterator iterator = this.subtitles.iterator();
        while (iterator.hasNext()) {
            AbstractTitle currentTitle = (AbstractTitle) iterator.next();
            drawTitle(currentTitle, g2, nonTitleArea);
        }

        // draw the legend - the draw method will return the remaining area
        // after the legend steals a chunk of the non-title area for itself
        Rectangle2D plotArea = nonTitleArea;
        if (legend != null) {
            plotArea.setRect(legend.draw(g2, nonTitleArea, info));
        }

        // draw the plot (axes and data visualisation)
        plot.draw(g2, plotArea, info);

        g2.setClip(savedClip);

        notifyListeners(
            new ChartProgressEvent(this, this, ChartProgressEvent.DRAWING_FINISHED, 100)
        );

    }

    /**
     * Draws a title.
     * <P>
     * The title should be drawn at the top, bottom, left or right of the nonTitleArea, and
     * the area should be updated to reflect the amount of space used by the title.
     *
     * @param title  the title.
     * @param g2  the graphics device.
     * @param nonTitleArea  the area.
     */
    public void drawTitle(AbstractTitle title, Graphics2D g2, Rectangle2D nonTitleArea) {

        Rectangle2D titleArea = new Rectangle2D.Double();
        double availableHeight = 0.0;
        double availableWidth = 0.0;
        switch (title.getPosition()) {

            case AbstractTitle.TOP : 
                availableHeight = Math.min(title.getPreferredHeight(g2), nonTitleArea.getHeight());
                availableWidth = nonTitleArea.getWidth();
                titleArea.setRect(nonTitleArea.getX(), nonTitleArea.getY(),
                                  availableWidth, availableHeight);
                title.draw(g2, titleArea);
                nonTitleArea.setRect(nonTitleArea.getX(),
                    Math.min(nonTitleArea.getY() + availableHeight,
                             nonTitleArea.getMaxY()),
                             availableWidth,
                             Math.max(nonTitleArea.getHeight() - availableHeight, 0));
                break;

            case AbstractTitle.BOTTOM : 
                availableHeight = Math.min(title.getPreferredHeight(g2), nonTitleArea.getHeight());
                availableWidth = nonTitleArea.getWidth();
                titleArea.setRect(nonTitleArea.getX(),
                                  nonTitleArea.getMaxY() - availableHeight,
                                  availableWidth, availableHeight);
                title.draw(g2, titleArea);
                nonTitleArea.setRect(nonTitleArea.getX(), nonTitleArea.getY(),
                                     availableWidth,
                                     nonTitleArea.getHeight() - availableHeight);
                break;

            case AbstractTitle.RIGHT : 
                availableHeight = nonTitleArea.getHeight();
                availableWidth = Math.min(title.getPreferredWidth(g2), nonTitleArea.getWidth());
                titleArea.setRect(nonTitleArea.getMaxX() - availableWidth,
                                  nonTitleArea.getY(), availableWidth, availableHeight);
                title.draw(g2, titleArea);
                nonTitleArea.setRect(nonTitleArea.getX(), nonTitleArea.getY(),
                                     nonTitleArea.getWidth() - availableWidth,
                                     availableHeight);
                break;

            case AbstractTitle.LEFT : 
                availableHeight = nonTitleArea.getHeight();
                availableWidth = Math.min(title.getPreferredWidth(g2), nonTitleArea.getWidth());
                titleArea.setRect(nonTitleArea.getX(), nonTitleArea.getY(),
                                  availableWidth, availableHeight);
                title.draw(g2, titleArea);
                nonTitleArea.setRect(nonTitleArea.getX() + availableWidth,
                                     nonTitleArea.getY(),
                                     nonTitleArea.getWidth() - availableWidth,
                                     availableHeight);
                break;

            default :
                throw new RuntimeException("JFreeChart.draw(...): unknown title position.");
        }
    }

    /**
     * Creates and returns a buffered image into which the chart has been drawn.
     *
     * @param width  the width.
     * @param height  the height.
     *
     * @return a buffered image.
     */
    public BufferedImage createBufferedImage(int width, int height) {

        return createBufferedImage(width, height, null);

    }

    /**
     * Creates and returns a buffered image into which the chart has been drawn.
     *
     * @param width  the width.
     * @param height  the height.
     * @param info  optional object for collection chart dimension and entity information.
     *
     * @return a buffered image.
     */
    public BufferedImage createBufferedImage(int width, int height, ChartRenderingInfo info) {

        BufferedImage image = new BufferedImage(width , height, BufferedImage.TYPE_INT_RGB);
        Graphics2D g2 = image.createGraphics();
        draw(g2, new Rectangle2D.Double(0, 0, width, height), info);
        g2.dispose();
        return image;

    }

    /**
     * Handles a 'click' on the chart.
     * <P>
     * JFreeChart is not a UI component, so some other object (e.g. ChartPanel)
     * needs to capture the click event and pass it onto the JFreeChart object.
     * If you are not using JFreeChart in a client application, then this
     * method is not required (and hopefully it doesn't get in the way).
     *
     * @param x  x-coordinate of the click.
     * @param y  y-coordinate of the click.
     * @param info  optional object for collection chart dimension and entity information.
     */
    public void handleClick(int x, int y, ChartRenderingInfo info) {

        // pass the click on to the plot...
        // rely on the plot to post a plot change event and redraw the chart...
        this.plot.handleClick(x, y, info);

    }

    /**
     * Registers an object for notification of changes to the chart.
     *
     * @param listener  the object being registered.
     */
    public void addChangeListener(ChartChangeListener listener) {
        this.changeListeners.add(ChartChangeListener.class, listener);
    }

    /**
     * Deregisters an object for notification of changes to the chart.
     *
     * @param listener  the object being deregistered.
     */
    public void removeChangeListener(ChartChangeListener listener) {
        this.changeListeners.remove(ChartChangeListener.class, listener);
    }

    /**
     * Sends a default {@link ChartChangeEvent} to all registered listeners.
     * <P>
     * This method is for convenience only.
     */
    public void fireChartChanged() {
        ChartChangeEvent event = new ChartChangeEvent(this);
        notifyListeners(event);
    }

    /**
     * Sends a {@link ChartChangeEvent} to all registered listeners.
     *
     * @param event  information about the event that triggered the notification.

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品中文字幕在线观看| 久久综合资源网| 日韩福利电影在线观看| 欧美一区二区精品在线| 黑人精品欧美一区二区蜜桃| 精品99999| 欧美探花视频资源| 日日噜噜夜夜狠狠视频欧美人| 成人动漫中文字幕| 国产精品丝袜在线| 欧美伊人精品成人久久综合97 | 在线免费观看日本一区| 午夜精品福利视频网站| www久久精品| 欧美裸体一区二区三区| 高清不卡在线观看av| 亚洲福中文字幕伊人影院| 欧美va亚洲va香蕉在线| 91丝袜国产在线播放| 免费观看在线综合色| 亚洲精品乱码久久久久久| 精品国产sm最大网站免费看| 在线精品亚洲一区二区不卡| 国产呦精品一区二区三区网站| 亚洲成av人在线观看| 国产精品久久久久久久岛一牛影视| 欧美曰成人黄网| av日韩在线网站| 国产suv一区二区三区88区| 久久av资源站| 久久电影网站中文字幕| 亚洲最大的成人av| 亚洲欧美激情在线| 国产精品久久久久久久久免费相片 | 欧美私人免费视频| 99久久久久免费精品国产| 国产不卡视频在线播放| 国产精品影视在线观看| 国产精品99久久久久久似苏梦涵| 日本va欧美va精品| 久久成人免费电影| 国产精品18久久久| 亚洲电影在线免费观看| 一区在线中文字幕| 最新热久久免费视频| 亚洲色图视频免费播放| 亚洲国产日韩a在线播放性色| 1024成人网色www| 一区二区三区小说| 首页欧美精品中文字幕| 久久99久久99精品免视看婷婷| 精品综合免费视频观看| 国产精品一卡二卡在线观看| 成人免费va视频| 欧美日韩精品电影| 久久天天做天天爱综合色| 国产丝袜美腿一区二区三区| 最近中文字幕一区二区三区| 亚洲福中文字幕伊人影院| 国产综合色精品一区二区三区| 国产91在线观看| 91精品福利在线| 日韩欧美的一区| 亚洲精品欧美二区三区中文字幕| 性做久久久久久免费观看| 国产大陆a不卡| 日韩一二三四区| 亚洲综合激情网| 成人午夜视频在线观看| 91精品国产色综合久久不卡蜜臀 | 亚洲美女在线一区| 激情文学综合丁香| 欧美男生操女生| 最新不卡av在线| 成人做爰69片免费看网站| 日韩一级成人av| 日韩和欧美一区二区三区| 狠狠色丁香婷综合久久| 国产精品一卡二卡在线观看| 欧美亚洲一区二区三区四区| 国产色产综合色产在线视频| 日产国产高清一区二区三区| 在线一区二区视频| |精品福利一区二区三区| 丁香亚洲综合激情啪啪综合| 欧美一区二区二区| 首页国产丝袜综合| 欧美一区二区三区精品| 天堂va蜜桃一区二区三区 | 91免费版pro下载短视频| 国产欧美一区二区精品秋霞影院| 久久精品国产亚洲高清剧情介绍| 日本韩国欧美一区| 亚洲天堂av一区| 日本高清不卡aⅴ免费网站| 亚洲欧美一区二区三区久本道91| 成人av影院在线| 亚洲日本va午夜在线影院| 色综合久久久久网| 亚洲一区av在线| 欧美一区二区在线不卡| 麻豆91在线看| 国产精品无码永久免费888| 成人激情动漫在线观看| 亚洲精品免费电影| 制服.丝袜.亚洲.中文.综合| 麻豆精品视频在线观看免费| www成人在线观看| 91年精品国产| 久久99日本精品| 国产精品毛片大码女人| 欧美日韩另类国产亚洲欧美一级| 欧美a级一区二区| 久久精品人人做人人综合| 色呦呦国产精品| 精品在线视频一区| 亚洲另类中文字| 久久久久久久精| www.亚洲在线| 中文字幕综合网| 欧美一区二区免费观在线| www.亚洲色图| 国产成人亚洲综合a∨婷婷| 亚洲尤物在线视频观看| 久久久不卡网国产精品二区| 欧美性感一区二区三区| 国产精品一品二品| 激情综合色丁香一区二区| 亚洲国产一区视频| 国产精品久久看| 国产欧美精品一区二区色综合 | 国产成人在线视频网站| 免费欧美高清视频| 亚洲午夜av在线| 一区二区高清在线| 亚洲欧美另类综合偷拍| 国产精品久久久久久久久久久免费看| 欧美精品视频www在线观看| 一本色道亚洲精品aⅴ| 99精品视频一区| 91黄色免费版| 欧美性色欧美a在线播放| 色屁屁一区二区| 欧美影视一区在线| 欧美猛男gaygay网站| 欧美日韩在线一区二区| 欧美性受极品xxxx喷水| 欧美精选在线播放| 欧美本精品男人aⅴ天堂| 欧美精品一区二区在线观看| 精品国产精品一区二区夜夜嗨| 26uuu色噜噜精品一区| 国产亚洲欧美日韩俺去了| 国产精品久久看| 日韩电影在线观看网站| 日韩在线a电影| 成人激情文学综合网| 色综合久久久久久久久久久| 成人黄色免费短视频| 欧美日韩一区小说| 日韩一区二区视频在线观看| 欧美极品另类videosde| 成人欧美一区二区三区小说| 日韩一级精品视频在线观看| 精品国产麻豆免费人成网站| 国产日韩av一区二区| 亚洲自拍偷拍av| 国产成人午夜高潮毛片| 欧美精品国产精品| 国产精品女主播av| 日韩中文字幕亚洲一区二区va在线| 日韩精品国产精品| 不卡在线视频中文字幕| 欧美一区二区三区视频免费| 中文字幕在线一区二区三区| 日本女优在线视频一区二区| 91高清视频在线| 中文字幕av一区二区三区高| 天天射综合影视| 日本韩国一区二区| 国产欧美日韩一区二区三区在线观看| 亚洲制服丝袜av| aa级大片欧美| 久久久高清一区二区三区| 精品一区二区三区香蕉蜜桃| 99久久777色| 中文字幕国产一区| 九色porny丨国产精品| 91久久精品网| 亚洲国产人成综合网站| av资源网一区| 亚洲欧洲日韩av| 91久久精品一区二区三区| 亚洲日本青草视频在线怡红院 | 国产精品入口麻豆原神| 国产成人av一区二区三区在线| 国产午夜亚洲精品不卡| 国产精品自在在线| 国产精品激情偷乱一区二区∴| 成人国产电影网|