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

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

?? abstracttitle.java

?? Web圖形化的Java庫
?? 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一区二区三区免费野_久草精品视频
精品一区二区国语对白| 欧美国产精品一区二区| 亚洲一区二区三区四区在线观看| 成人妖精视频yjsp地址| 国产精品女同一区二区三区| 91在线无精精品入口| 亚洲一区二区三区四区在线观看| 欧美精品久久一区| 麻豆国产91在线播放| 国产女同性恋一区二区| 99久久99久久精品免费观看 | 91丨porny丨国产| 亚洲一区二区三区爽爽爽爽爽| 欧日韩精品视频| 久久疯狂做爰流白浆xx| 国产精品久久一卡二卡| 在线观看欧美黄色| 韩国av一区二区三区在线观看| 国产拍揄自揄精品视频麻豆| 欧美在线视频日韩| 国产综合久久久久影院| 亚洲久草在线视频| 欧美成人伊人久久综合网| 成人激情免费电影网址| 午夜视频在线观看一区二区 | 成人免费一区二区三区视频| 欧美日韩在线亚洲一区蜜芽| 久久99国产精品久久99果冻传媒| 国产精品污污网站在线观看| 欧美日韩综合色| 成人久久18免费网站麻豆 | 久久久www成人免费毛片麻豆| 99re6这里只有精品视频在线观看| 亚洲3atv精品一区二区三区| 国产午夜精品一区二区| 欧美日韩不卡一区二区| 国产成人丝袜美腿| 日韩不卡免费视频| 亚洲欧美日本韩国| 国产亚洲综合在线| 欧美一级片免费看| 在线免费观看成人短视频| 国产一区二区视频在线播放| 亚洲大片精品永久免费| 亚洲丝袜制服诱惑| 久久在线观看免费| 欧美丰满少妇xxxbbb| 色婷婷综合视频在线观看| 懂色av一区二区夜夜嗨| 青青草伊人久久| 亚洲成a人片在线不卡一二三区 | 91原创在线视频| 国产一区二区三区在线观看免费| 日韩精品色哟哟| 一区二区三区四区国产精品| 国产精品免费视频观看| 精品免费国产二区三区| 日韩一级二级三级精品视频| 色哟哟欧美精品| 99久久国产综合精品色伊| 丁香啪啪综合成人亚洲小说 | 五月天丁香久久| 一区二区三区在线视频观看 | 欧美日韩免费观看一区三区| 99精品1区2区| 91在线丨porny丨国产| 成人午夜视频在线观看| 懂色av一区二区在线播放| 国产精品1区2区3区在线观看| 久久国产尿小便嘘嘘尿| 精品一区二区在线观看| 久久66热re国产| 精品一区二区三区视频在线观看| 免费在线观看视频一区| 日韩国产欧美一区二区三区| 日韩不卡手机在线v区| 日韩精品成人一区二区在线| 日韩中文字幕1| 男人的天堂久久精品| 免费在线一区观看| 久久精品国产999大香线蕉| 老司机免费视频一区二区| 另类的小说在线视频另类成人小视频在线 | 国产在线精品一区在线观看麻豆| 精品在线播放午夜| 国产精品亚洲а∨天堂免在线| 国产91在线看| 91在线观看免费视频| 欧美在线观看一二区| 这里是久久伊人| 欧美mv和日韩mv国产网站| 久久综合精品国产一区二区三区| 国产日韩欧美精品一区| 亚洲人成网站精品片在线观看| 亚洲一区二区三区中文字幕| 日韩黄色一级片| 国产乱子伦视频一区二区三区| 成人网在线播放| 欧美性大战久久久久久久| 欧美一区二区三区在线看| 久久久影视传媒| 亚洲欧美综合色| 日韩精品每日更新| 国产精品99久久久久久久vr | 国产成人综合亚洲网站| 一本到不卡免费一区二区| 69p69国产精品| 国产欧美日本一区视频| 一区二区三区四区国产精品| 蓝色福利精品导航| 成人美女在线观看| 91精品啪在线观看国产60岁| 国产日产亚洲精品系列| 午夜在线成人av| 国产成a人亚洲| 欧美久久久久久久久久| 国产亚洲午夜高清国产拍精品| 亚洲黄色尤物视频| 韩国理伦片一区二区三区在线播放| 不卡av在线免费观看| 日韩三级在线免费观看| 亚洲日本va午夜在线影院| 久久精品国产77777蜜臀| 91在线观看成人| 久久美女艺术照精彩视频福利播放| 一二三区精品视频| 国产在线视频一区二区| 欧美日韩国产影片| 国产精品人成在线观看免费 | 国产色91在线| 日韩av成人高清| 色综合天天综合网天天看片| 精品久久久久99| 亚洲一区二区三区四区在线观看| 国产91富婆露脸刺激对白| 91精品国产91久久久久久一区二区 | 欧美在线观看视频一区二区| 久久欧美一区二区| 日本在线不卡视频| 欧美午夜免费电影| 亚洲精选免费视频| 国产成人福利片| 久久午夜老司机| 麻豆成人在线观看| 51精品秘密在线观看| 亚洲第一福利一区| 在线视频国内自拍亚洲视频| 中文字幕亚洲成人| 国产精品一区二区果冻传媒| 日韩女优毛片在线| 免费在线观看精品| 制服视频三区第一页精品| 午夜精品福利久久久| 在线精品视频小说1| 亚洲伦在线观看| 91香蕉视频在线| 亚洲人成在线播放网站岛国| 99这里只有久久精品视频| 中文字幕一区在线| 99九九99九九九视频精品| 中文字幕av资源一区| 丁香五精品蜜臀久久久久99网站 | 欧美大片免费久久精品三p| 青青草97国产精品免费观看 | 国产大陆a不卡| 久久久久久久综合日本| 国产激情视频一区二区在线观看| 精品国产乱码久久久久久图片| 久久99精品国产.久久久久久| 精品欧美一区二区久久| 久久蜜臀精品av| proumb性欧美在线观看| 国产精品电影一区二区三区| 91亚洲国产成人精品一区二区三 | 综合久久久久久久| 色偷偷久久人人79超碰人人澡| 裸体在线国模精品偷拍| 丁香婷婷深情五月亚洲| 亚洲色图在线视频| 精品1区2区3区| 另类调教123区 | 亚洲视频1区2区| 国产精品正在播放| 国产精品蜜臀av| 日本道免费精品一区二区三区| 亚洲国产成人91porn| 精品久久久久久久久久久久包黑料 | 91尤物视频在线观看| 亚洲国产美女搞黄色| 日韩视频在线你懂得| 国产成人在线网站| 91精品免费观看| 狂野欧美性猛交blacked| 久久久久久久性| 91久久香蕉国产日韩欧美9色| 偷拍日韩校园综合在线| 国产色91在线| 欧美日韩不卡一区二区| 国产盗摄一区二区| 日韩久久免费av|