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

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

?? abstracttitle.java

?? JFreeChartweb圖表
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
    }

    /**
     * Sets the vertical alignment for the title, and notifies any registered
     * listeners of the change.
     * The constants TOP, MIDDLE and BOTTOM (defined in this class) can be used
     * to specify the alignment.
     *
     * @param alignment  the new vertical alignment (TOP, MIDDLE or BOTTOM).
     */
    public void setVerticalAlignment(int alignment) {
        if (this.verticalAlignment != alignment) {
            this.verticalAlignment = alignment;
            notifyListeners(new TitleChangeEvent(this));
        }
    }

    /**
     * Returns the spacer (determines the blank space around the edges) for
     * this title.
     *
     * @return the spacer for this title.
     */
    public Spacer getSpacer() {
        return this.spacer;
    }

    /**
     * Sets the spacer for the title, and notifies registered listeners of the
     * change.
     *
     * @param spacer  the new spacer.
     */
    public void setSpacer(Spacer spacer) {

        if (!this.spacer.equals(spacer)) {
            this.spacer = spacer;
            notifyListeners(new TitleChangeEvent(this));
        }

    }

    /**
     * Returns the flag that indicates whether or not the notification mechanism is enabled.
     *
     * @return the flag.
     */
    public boolean getNotify() {
        return this.notify;
    }

    /**
     * Sets the flag that indicates whether or not the notification mechanism
     * is enabled.  There are certain situations (such as cloning) where you
     * want to turn notification off temporarily.
     *
     * @param flag  the new value of the flag.
     */
    public void setNotify(boolean flag) {
        this.notify = flag;
    }

    /**
     * Returns true if the title can assume the specified location, and false otherwise.
     *
     * @param position  the position.
     *
     * @return <code>true</code> if the title can assume the specified position.
     */
    public abstract boolean isValidPosition(int position);

    /**
     * Returns the preferred width of the title.  When a title is displayed at
     * the left or right of a chart, the chart will attempt to give the title
     * enough space for it's preferred width.
     *
     * @param g2  the graphics device.
     *
     * @return the preferred width of the title.
     */
    public abstract double getPreferredWidth(Graphics2D g2);

    /**
     * Returns the preferred height of the title.  When a title is displayed at
     * the top or bottom of a chart, the chart will attempt to give the title
     * enough space for it's preferred height.
     *
     * @param g2  the graphics device.
     *
     * @return the preferred height of the title.
     */
    public abstract double getPreferredHeight(Graphics2D g2);

    /**
     * Draws the title on a Java 2D graphics device (such as the screen or a printer).
     *
     * @param g2  the graphics device.
     * @param titleArea  the area for drawing the title.
     */
    public abstract void draw(Graphics2D g2, Rectangle2D titleArea);

    /**
     * Returns a clone of the title.
     * <P>
     * One situation when this is useful is when editing the title properties -
     * you can edit a clone, and then it is easier to cancel the changes if
     * necessary.
     *
     * @return a clone of the title.
     *
     */
    public Object clone() {

        AbstractTitle duplicate = null;

        try {
            duplicate = (AbstractTitle) super.clone();
        }
        catch (CloneNotSupportedException e) {
            // this should never happen because Cloneable is implemented
            throw new RuntimeException("AbstractTitle.clone()");
        }

        return duplicate;

    }

    /**
     * Registers an object for notification of changes to the title.
     *
     * @param listener  the object that is being registered.
     */
    public void addChangeListener(TitleChangeListener listener) {
        this.listenerList.add(TitleChangeListener.class, listener);
    }

    /**
     * Unregisters an object for notification of changes to the chart title.
     *
     * @param listener  the object that is being unregistered.
     */
    public void removeChangeListener(TitleChangeListener listener) {
        this.listenerList.remove(TitleChangeListener.class, listener);
    }

    /**
     * Notifies all registered listeners that the chart title has changed in some way.
     *
     * @param event  an object that contains information about the change to the title.
     */
    protected void notifyListeners(TitleChangeEvent event) {

        if (this.notify) {

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

    }

    /**
     * Utility method for checking a horizontal alignment code.
     *
     * @param code  the alignment code.
     *
     * @return <code>true</code> if alignment is <code>LEFT|MIDDLE|RIGHT</code>.
     */
    protected static boolean isValidHorizontalAlignment(int code) {

        switch(code) {
            case AbstractTitle.LEFT:   return true;
            case AbstractTitle.MIDDLE: return true;
            case AbstractTitle.RIGHT:  return true;
            default: return false;
        }

    }

    /**
     * Utility method for checking a vertical alignment code.
     *
     * @param code  the alignment code.
     *
     * @return <code>true</code>, if alignment is <code>TOP|MIDDLE|BOTTOM</code>.
     */
    protected static boolean isValidVerticalAlignment(int code) {

        switch(code) {
            case AbstractTitle.TOP:    return true;
            case AbstractTitle.MIDDLE: return true;
            case AbstractTitle.BOTTOM: return true;
            default: return false;
        }

    }

    /**
     * Tests an object for equality with this title.
     *
     * @param obj  the object.
     *
     * @return <code>true</code> or <code>false</code>.
     */
    public boolean equals(Object obj) {

        if (obj == null) {
            return false;
        }

        if (obj == this) {
            return true;
        }

        if (obj instanceof AbstractTitle) {

            AbstractTitle t = (AbstractTitle) obj;
 //           if (super.equals(obj)) {
                boolean b0 = (this.position == t.position);
                boolean b1 = (this.horizontalAlignment == t.horizontalAlignment);
                boolean b2 = (this.verticalAlignment == t.verticalAlignment);
                boolean b3 = ObjectUtils.equal(this.spacer, t.spacer);
                boolean b4 = (this.notify == t.notify);

                return b0 && b1 && b2 && b3 && b4;
//            }
        }

        return false;

    }

    /**
     * Provides serialization support.
     *
     * @param stream  the output stream.
     *
     * @throws IOException  if there is an I/O error.
     */
    private void writeObject(ObjectOutputStream stream) throws IOException {
        stream.defaultWriteObject();
    }

    /**
     * Provides serialization support.
     *
     * @param stream  the input stream.
     *
     * @throws IOException  if there is an I/O error.
     * @throws ClassNotFoundException  if there is a classpath problem.
     */
    private void readObject(ObjectInputStream stream) throws IOException, ClassNotFoundException {
        stream.defaultReadObject();
        this.listenerList = new EventListenerList();
    }

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91蝌蚪porny九色| 色欧美88888久久久久久影院| 精品国产乱子伦一区| 欧美va亚洲va香蕉在线| 亚洲最新视频在线播放| 国产传媒一区在线| 在线不卡一区二区| 亚洲嫩草精品久久| 美女视频第一区二区三区免费观看网站| 成人av网站在线| 久久网站最新地址| 日本美女一区二区三区| 欧美午夜宅男影院| 亚洲视频在线观看三级| 在线免费亚洲电影| av中文字幕不卡| 久久久精品国产99久久精品芒果| 青青草伊人久久| 欧美特级限制片免费在线观看| 亚洲欧美中日韩| 福利电影一区二区| 不卡视频免费播放| 久久婷婷色综合| 久久9热精品视频| 日韩午夜在线观看| 日韩黄色小视频| 欧美日韩国产高清一区二区三区 | 亚洲国产精品精华液2区45| 轻轻草成人在线| 欧美伦理电影网| 一区二区三区四区在线免费观看| 风间由美中文字幕在线看视频国产欧美 | 日韩欧美一区二区免费| 精品国产sm最大网站| 美国精品在线观看| 欧美一卡2卡3卡4卡| 午夜精品久久一牛影视| 欧美日韩精品三区| 午夜精品久久一牛影视| 在线播放欧美女士性生活| 丝袜亚洲另类欧美综合| 欧美男男青年gay1069videost| 亚洲第一激情av| 欧美亚日韩国产aⅴ精品中极品| 亚洲精品视频自拍| 欧美在线观看一二区| 亚洲图片欧美视频| 欧美精三区欧美精三区| 欧美色男人天堂| 日韩亚洲欧美高清| 久久精品99国产精品日本| 日韩一区二区不卡| 精品一区二区在线看| xfplay精品久久| 丁香婷婷深情五月亚洲| 中文字幕在线不卡| 在线观看精品一区| 亚洲与欧洲av电影| 欧美美女黄视频| 午夜电影一区二区三区| 日韩一卡二卡三卡| 久久成人综合网| 精品av综合导航| 国产成人综合亚洲91猫咪| 欧美日韩久久不卡| 日日欢夜夜爽一区| 日韩欧美一级精品久久| 国产夫妻精品视频| 国产精品久久免费看| 成人性生交大片免费| 亚洲女子a中天字幕| 成人黄色软件下载| 亚洲一区二区三区激情| 欧美精品粉嫩高潮一区二区| 国产中文字幕一区| 中文字幕一区二区三中文字幕| 99v久久综合狠狠综合久久| 精品国产免费一区二区三区香蕉| 国产精品 欧美精品| 中文字幕视频一区| 欧美日韩三级一区| 久久国产精品99精品国产| 欧美精品一区二区三区四区| 99久久国产综合色|国产精品| 亚洲一区二区在线视频| 精品国产髙清在线看国产毛片| 国产激情一区二区三区| 亚洲精品久久久久久国产精华液| 欧美日韩视频专区在线播放| 国产精品一品二品| 欧美日韩一区二区三区免费看| 美日韩一区二区三区| 中文字幕+乱码+中文字幕一区| 99久久精品免费看国产免费软件| 亚洲123区在线观看| 久久久美女艺术照精彩视频福利播放| 91香蕉视频mp4| 久久国产乱子精品免费女| 日韩伦理免费电影| 精品免费国产二区三区| 国产馆精品极品| 婷婷六月综合亚洲| 中文字幕国产一区| 日韩视频免费直播| www.成人在线| 三级精品在线观看| 亚洲日本丝袜连裤袜办公室| 日韩欧美色综合网站| 色综合久久88色综合天天| 美女诱惑一区二区| 国产精品久久久久永久免费观看 | 久久精品国产久精国产爱| 国产精品国产三级国产a| 欧美大片日本大片免费观看| 94-欧美-setu| 国产一区二区三区在线看麻豆| 亚洲一二三区视频在线观看| 久久久99精品久久| 777a∨成人精品桃花网| av高清不卡在线| 激情久久久久久久久久久久久久久久| 久久久精品国产免大香伊| 国产精品一级在线| 日本亚洲电影天堂| 亚洲欧美成人一区二区三区| 国产调教视频一区| 91精选在线观看| 欧美午夜理伦三级在线观看| 国产伦精品一区二区三区免费 | 日韩免费高清电影| 欧洲av一区二区嗯嗯嗯啊| 粉嫩av一区二区三区| 韩国一区二区视频| 日本视频一区二区| 日韩一区在线看| 国产三级一区二区| 4438成人网| 精品视频一区三区九区| 色综合色狠狠天天综合色| 成人一道本在线| 欧美日韩一区二区在线视频| 美女爽到高潮91| 亚洲福利电影网| 久久亚洲私人国产精品va媚药| 欧美成人猛片aaaaaaa| 欧美日韩不卡在线| 欧美日韩在线直播| 色婷婷综合在线| 不卡av免费在线观看| 国产69精品一区二区亚洲孕妇| 国产乱子伦视频一区二区三区| 美女精品一区二区| 婷婷国产v国产偷v亚洲高清| 一区二区三区加勒比av| 国产精品久久久久久久久搜平片| 国产欧美一区二区在线| 久久精品日韩一区二区三区| 久久综合中文字幕| 欧美精品一区二区三区四区 | 蜜桃av噜噜一区| 国产欧美日韩精品a在线观看| 99精品视频在线播放观看| av影院午夜一区| 一本高清dvd不卡在线观看 | 人禽交欧美网站| 欧美a一区二区| 美女网站在线免费欧美精品| 免费观看久久久4p| 国产一区欧美二区| 国产激情91久久精品导航 | 欧美日韩一区二区三区视频| 欧美日韩国产高清一区二区三区| 51午夜精品国产| 欧美精品xxxxbbbb| 日韩精品资源二区在线| 26uuu精品一区二区| 制服丝袜国产精品| 欧美一区二区日韩一区二区| 欧美videos大乳护士334| 日韩精品一区二区三区视频在线观看| 91精品久久久久久蜜臀| 欧美v日韩v国产v| 欧美国产日韩精品免费观看| 最新热久久免费视频| 亚洲乱码国产乱码精品精98午夜| 亚洲国产精品一区二区久久恐怖片 | 1000部国产精品成人观看| 亚洲乱码日产精品bd| 亚洲一区二区视频在线观看| 亚洲成人福利片| 国产一区在线精品| 99免费精品在线观看| 精品视频一区 二区 三区| 日韩午夜精品电影| 国产精品毛片大码女人| 亚洲综合色视频| 九色综合国产一区二区三区| 国产不卡视频在线观看| 99精品国产热久久91蜜凸| 欧美日韩一区二区三区在线|