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

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

?? plot.java

?? Web圖形化的Java庫
?? JAVA
?? 第 1 頁 / 共 3 頁
字號:

    /**
     * Returns the insets for the plot area.
     *
     * @return The insets.
     */
    public Insets getInsets() {
        return this.insets;
    }

    /**
     * Sets the insets for the plot and notifies registered listeners that the
     * plot has been modified.
     *
     * @param insets  the new insets.
     */
    public void setInsets(Insets insets) {
        this.setInsets(insets, true);
    }

    /**
     * Sets the insets for the plot and, if requested, notifies registered listeners that the
     * plot has been modified.
     *
     * @param insets  the new insets.
     * @param notify  a flag that controls whether the registered listeners are notified.
     */
    public void setInsets(Insets insets, boolean notify) {

        if (!this.insets.equals(insets)) {
            this.insets = insets;
            if (notify) {
                notifyListeners(new PlotChangeEvent(this));
            }
        }

    }

    /**
     * Returns the background color of the plot area.
     *
     * @return The paint (possibly <code>null</code>).
     */
    public Paint getBackgroundPaint() {
        return this.backgroundPaint;
    }

    /**
     * Sets the background color of the plot area.  A {@link PlotChangeEvent} is forwarded to
     * all registered listeners.
     *
     * @param paint  the paint (<code>null</code> permitted).
     */
    public void setBackgroundPaint(Paint paint) {

        if (paint == null) {
            if (this.backgroundPaint != null) {
                this.backgroundPaint = null;
                notifyListeners(new PlotChangeEvent(this));
            }
        }
        else {
            if (this.backgroundPaint != null) {
                if (this.backgroundPaint.equals(paint)) {
                    return;  // nothing to do
                }
            }
            this.backgroundPaint = paint;
            notifyListeners(new PlotChangeEvent(this));
        }

    }

    /**
     * Returns the alpha transparency of the plot area background.
     *
     * @return the alpha transparency.
     */
    public float getBackgroundAlpha() {
        return this.backgroundAlpha;
    }

    /**
     * Sets the alpha transparency of the plot area background, and notifies
     * registered listeners that the plot has been modified.
     *
     * @param alpha the new alpha value.
     */
    public void setBackgroundAlpha(float alpha) {

        if (this.backgroundAlpha != alpha) {
            this.backgroundAlpha = alpha;
            notifyListeners(new PlotChangeEvent(this));
        }

    }

    /**
     * Returns the drawing supplier for the plot. 
     *
     * @return The drawing supplier.
     */
    public DrawingSupplier getDrawingSupplier() {
        DrawingSupplier result = null;
        Plot p = getParent();
        if (p != null) {
            return p.getDrawingSupplier();
        }
        else {
            result = this.drawingSupplier;
        }
        return result;
    }

    /**
     * Sets the drawing supplier for the plot.  The drawing supplier is responsible for
     * supplying a limitless (possibly repeating) sequence of <code>Paint</code>,
     * <code>Stroke</code> and <code>Shape</code> objects that the plot's renderer(s) can use 
     * to populate its(their) tables.
     *
     * @param supplier  the new supplier.
     */
    public void setDrawingSupplier(DrawingSupplier supplier) {
        this.drawingSupplier = supplier;
        notifyListeners(new PlotChangeEvent(this));
    }

    /**
     * Returns the background image that is used to fill the plot's background area.
     *
     * @return The image (possibly <code>null</code>).
     */
    public Image getBackgroundImage() {
        return this.backgroundImage;
    }

    /**
     * Sets the background image for the plot.
     *
     * @param image  the image (<code>null</code> permitted).
     */
    public void setBackgroundImage(Image image) {
        this.backgroundImage = image;
        notifyListeners(new PlotChangeEvent(this));
    }

    /**
     * Returns the background image alignment. Alignment constants are defined in the
     * <code>org.jfree.ui.Align</code> class in the JCommon class library.
     *
     * @return The alignment.
     */
    public int getBackgroundImageAlignment() {
        return this.backgroundImageAlignment;
    }

    /**
     * Sets the background alignment.
     * <p>
     * Alignment options are defined by the {@link org.jfree.ui.Align} class.
     *
     * @param alignment  the alignment.
     */
    public void setBackgroundImageAlignment(int alignment) {
        if (this.backgroundImageAlignment != alignment) {
            this.backgroundImageAlignment = alignment;
            notifyListeners(new PlotChangeEvent(this));
        }
    }

    /**
     * Returns the stroke used to outline the plot area.
     *
     * @return The stroke (possibly <code>null</code>).
     */
    public Stroke getOutlineStroke() {
        return this.outlineStroke;
    }

    /**
     * Sets the stroke used to outline the plot area.  A {@link PlotChangeEvent} is sent to all
     * registered listeners.
     * <p>
     * If you set this attribute to <code>null<.code>, no outline will be drawn.
     *
     * @param stroke  the stroke (<code>null</code> permitted).
     */
    public void setOutlineStroke(Stroke stroke) {

        if (stroke == null) {
            if (this.outlineStroke != null) {
                this.outlineStroke = null;
                notifyListeners(new PlotChangeEvent(this));
            }
        }
        else {
            if (this.outlineStroke != null) {
                if (this.outlineStroke.equals(stroke)) {
                    return;  // nothing to do
                }
            }
            this.outlineStroke = stroke;
            notifyListeners(new PlotChangeEvent(this));
        }

    }

    /**
     * Returns the color used to draw the outline of the plot area.
     *
     * @return The color (possibly <code>null<code>).
     */
    public Paint getOutlinePaint() {
        return this.outlinePaint;
    }

    /**
     * Sets the color used to draw the outline of the plot area.  A {@link PlotChangeEvent} is 
     * sent to all registered listeners.
     * <p>
     * If you set this attribute to <code>null</code>, no outline will be drawn.
     *
     * @param paint  the paint (<code>null</code> permitted).
     */
    public void setOutlinePaint(Paint paint) {

        if (paint == null) {
            if (this.outlinePaint != null) {
                this.outlinePaint = null;
                notifyListeners(new PlotChangeEvent(this));
            }
        }
        else {
            if (this.outlinePaint != null) {
                if (this.outlinePaint.equals(paint)) {
                    return;  // nothing to do
                }
            }
            this.outlinePaint = paint;
            notifyListeners(new PlotChangeEvent(this));
        }

    }

    /**
     * Returns the alpha-transparency for the plot foreground.
     *
     * @return the alpha-transparency.
     */
    public float getForegroundAlpha() {
        return this.foregroundAlpha;
    }

    /**
     * Sets the alpha-transparency for the plot.
     *
     * @param alpha  the new alpha transparency.
     */
    public void setForegroundAlpha(float alpha) {

        if (this.foregroundAlpha != alpha) {
            this.foregroundAlpha = alpha;
            notifyListeners(new PlotChangeEvent(this));
        }

    }

    /**
     * Returns the legend items for the plot.
     * <P>
     * By default, this method returns <code>null</code>.  Subclasses should override to return a
     * {@link LegendItemCollection}.
     *
     * @return the legend items for the plot.
     */
    public LegendItemCollection getLegendItems() {
        return null;
    }

    /**
     * Registers an object for notification of changes to the plot.
     *
     * @param listener  the object to be registered.
     */
    public void addChangeListener(PlotChangeListener listener) {
        listenerList.add(PlotChangeListener.class, listener);
    }

    /**
     * Unregisters an object for notification of changes to the plot.
     *
     * @param listener  the object to be unregistered.
     */
    public void removeChangeListener(PlotChangeListener listener) {
        listenerList.remove(PlotChangeListener.class, listener);
    }

    /**
     * Notifies all registered listeners that the plot has been modified.
     *
     * @param event  information about the change event.
     */
    public void notifyListeners(PlotChangeEvent event) {

        Object[] listeners = this.listenerList.getListenerList();
        for (int i = listeners.length - 2; i >= 0; i -= 2) {
            if (listeners[i] == PlotChangeListener.class) {
                ((PlotChangeListener) listeners[i + 1]).plotChanged(event);
            }
        }

    }

    /**
     * Draws the plot on a Java 2D graphics device (such as the screen or a printer).
     * <P>
     * This class does not store any information about where the individual
     * items that make up the plot are actually drawn.  If you want to collect
     * this information, pass in a ChartRenderingInfo object.  After the
     * drawing is complete, the info object will contain lots of information
     * about the chart.  If you don't want the information, pass in null.
     * *
     * @param g2  the graphics device.
     * @param plotArea  the area within which the plot should be drawn.
     * @param info  an object for collecting information about the drawing of the chart.
     */
    public abstract void draw(Graphics2D g2, Rectangle2D plotArea, ChartRenderingInfo info);

    /**
     * Draw the plot background.
     *
     * @param g2  the graphics device.
     * @param area  the area within which the plot should be drawn.
     */
    public void drawBackground(Graphics2D g2, Rectangle2D area) {

        if (backgroundPaint != null) {
            Composite originalComposite = g2.getComposite();
            g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER,
                                                       this.backgroundAlpha));
            g2.setPaint(backgroundPaint);
            g2.fill(area);
            g2.setComposite(originalComposite);
        }

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

    }

    /**
     * Draw the plot outline
     *
     * @param g2  the graphics device.
     * @param area  the area within which the plot should be drawn.
     */
    public void drawOutline(Graphics2D g2, Rectangle2D area) {

        if ((outlineStroke != null) && (outlinePaint != null)) {
            g2.setStroke(outlineStroke);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区在线免费观看| 久久精品国产在热久久| 老鸭窝一区二区久久精品| 欧美久久一二区| 免费在线一区观看| 成人午夜电影网站| 一区二区三区在线观看动漫 | 97aⅴ精品视频一二三区| 一区二区三区四区五区视频在线观看 | 欧美一区二区人人喊爽| 久久精品国产亚洲5555| 国产欧美一区二区在线| 日韩亚洲欧美高清| 欧美日韩一区二区三区不卡| 成人国产精品视频| 久久精品99国产国产精| 日韩精品成人一区二区三区| 亚洲精品中文在线影院| 国产精品初高中害羞小美女文| 亚洲高清免费观看| 亚洲欧洲成人精品av97| 中文字幕精品综合| 久久久久久电影| 久久天堂av综合合色蜜桃网 | 国产欧美一区二区精品仙草咪 | 日韩一二三区不卡| 51精品国自产在线| 91丝袜美腿高跟国产极品老师 | 国产一区二区调教| 日本午夜一本久久久综合| 亚洲成人av一区| 天涯成人国产亚洲精品一区av| 亚洲伊人色欲综合网| 亚洲美女少妇撒尿| 亚洲一区二区在线免费看| 亚洲人精品一区| 一区二区高清免费观看影视大全 | 成人18精品视频| 成人av动漫在线| 91视频免费观看| 在线影院国内精品| 欧美日韩一区国产| 91麻豆精品国产91久久久使用方法 | 久久99精品国产.久久久久久| 麻豆久久久久久久| 国产精品自拍三区| 成人v精品蜜桃久久一区| 成人高清免费观看| 色婷婷av一区| 欧美视频完全免费看| 精品视频在线视频| 欧美一区二区三区性视频| 欧美一级二级三级乱码| 欧美成人精品3d动漫h| 国产亚洲一本大道中文在线| 国产精品久久久一本精品| 综合激情成人伊人| 亚洲国产精品精华液网站| 日韩av电影天堂| 国产精品77777竹菊影视小说| eeuss影院一区二区三区| 色欧美乱欧美15图片| 欧美日本视频在线| 久久嫩草精品久久久精品| 最好看的中文字幕久久| 偷偷要91色婷婷| 国内外成人在线| 91免费观看国产| 中文字幕一区视频| 欧美一级片在线| 欧美亚洲国产一区二区三区| a美女胸又www黄视频久久| 成人教育av在线| 日韩精品一区二区三区中文不卡| 在线不卡免费欧美| www欧美成人18+| 国产精品福利av| 丝袜亚洲另类丝袜在线| 免费成人av在线| 成人动漫在线一区| 欧美色综合网站| 精品理论电影在线| 亚洲日本丝袜连裤袜办公室| 亚洲午夜久久久久| 风间由美中文字幕在线看视频国产欧美| 日韩一级黄色片| 久久综合九色综合欧美亚洲| 一区二区三区久久| 欧美激情自拍偷拍| 国产日韩精品一区二区三区| 亚洲三级电影网站| 不卡一区二区三区四区| 亚洲国产精品av| 日韩一区中文字幕| 欧美国产乱子伦| 亚洲福利视频一区二区| 国产精品亚洲а∨天堂免在线| 欧美日韩第一区日日骚| 日本一区二区不卡视频| 日本伊人精品一区二区三区观看方式| 不卡一区二区三区四区| 日韩久久久久久| 亚洲成年人影院| 波波电影院一区二区三区| 欧美成人午夜电影| 亚州成人在线电影| 91亚洲精华国产精华精华液| 久久青草欧美一区二区三区| 日韩精品色哟哟| 91福利在线看| 18欧美亚洲精品| 国内成人免费视频| 欧美一区二区日韩| 亚洲国产精品久久久久秋霞影院| 国产成人av电影在线| 亚洲精品一区二区三区蜜桃下载 | 欧美日韩五月天| 亚洲精品中文字幕在线观看| 成人免费视频视频| 国产色综合久久| 国产在线一区二区| 日韩欧美一区电影| 人人狠狠综合久久亚洲| 欧美精品粉嫩高潮一区二区| 亚洲综合在线视频| 一本大道久久a久久精二百| 老司机精品视频在线| 欧美日本乱大交xxxxx| 一区二区不卡在线播放| av综合在线播放| 亚洲欧洲精品天堂一级| 国产成人免费在线视频| 久久久99精品免费观看不卡| 麻豆精品新av中文字幕| 日韩三级视频在线看| 日日夜夜精品视频免费| 欧美浪妇xxxx高跟鞋交| 视频一区视频二区在线观看| 3d动漫精品啪啪1区2区免费| 日韩精品成人一区二区三区| 91精品免费在线观看| 日韩黄色小视频| 91精品国产色综合久久久蜜香臀| 天堂久久一区二区三区| 欧美一区在线视频| 久久超碰97中文字幕| 久久婷婷成人综合色| 成人性生交大片免费看在线播放| 国产精品国产三级国产aⅴ无密码| 成人18视频在线播放| 亚洲欧美乱综合| 欧美日韩免费高清一区色橹橹| 婷婷开心激情综合| 精品国产区一区| 国产成人啪免费观看软件| 亚洲天堂福利av| 欧美裸体bbwbbwbbw| 极品少妇xxxx精品少妇偷拍| 国产免费成人在线视频| 99久久免费精品| 午夜视频在线观看一区| 欧美成人午夜电影| 99久久精品国产观看| 午夜精品久久一牛影视| 久久久久青草大香线综合精品| av亚洲精华国产精华精| 午夜欧美视频在线观看| www激情久久| 日本一区二区电影| 中文字幕在线一区二区三区| 91精品国产一区二区| 51精品秘密在线观看| 日韩欧美一区二区三区在线| 欧美午夜一区二区三区免费大片| 成人av影院在线| 91久久精品午夜一区二区| 91理论电影在线观看| 91理论电影在线观看| 欧美日韩激情在线| 欧美不卡视频一区| 亚洲国产高清在线| 自拍视频在线观看一区二区| 中日韩av电影| 亚洲夂夂婷婷色拍ww47| 天天免费综合色| 国产成人免费视频网站| 91久久精品一区二区二区| 欧美巨大另类极品videosbest| 欧美大片一区二区| 亚洲欧美国产77777| 成人免费高清在线观看| 久久午夜电影网| 亚洲成在线观看| 蜜桃精品视频在线| 91福利视频在线| 无吗不卡中文字幕| 国产一区在线观看视频| 欧美一区中文字幕| 日本伊人色综合网| 欧美性色欧美a在线播放|