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

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

?? blockborder.java

?? jfreechart1.0.1 jsp繪制圖表的開發包
?? JAVA
字號:
/* ===========================================================
 * JFreeChart : a free chart library for the Java(tm) platform
 * ===========================================================
 *
 * (C) Copyright 2000-2005, by Object Refinery Limited and Contributors.
 *
 * Project Info:  http://www.jfree.org/jfreechart/index.html
 *
 * This library is free software; you can redistribute it and/or modify it 
 * under the terms of the GNU Lesser General Public License as published by 
 * the Free Software Foundation; either version 2.1 of the License, or 
 * (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful, but 
 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 
 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public 
 * License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, 
 * USA.  
 *
 * [Java is a trademark or registered trademark of Sun Microsystems, Inc. 
 * in the United States and other countries.]
 *
 * ----------------
 * BlockBorder.java
 * ----------------
 * (C) Copyright 2004, 2005, by Object Refinery Limited.
 *
 * Original Author:  David Gilbert (for Object Refinery Limited);
 * Contributor(s):   -;
 *
 * $Id: BlockBorder.java,v 1.7.2.1 2005/10/25 20:39:38 mungady Exp $
 *
 * Changes:
 * --------
 * 22-Oct-2004 : Version 1 (DG);
 * 04-Feb-2005 : Added equals() and implemented Serializable (DG);
 * 23-Feb-2005 : Added attribute for border color (DG);
 * 06-May-2005 : Added new convenience constructors (DG);
 * 
 */

package org.jfree.chart.block;

import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.Paint;
import java.awt.geom.Rectangle2D;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;

import org.jfree.io.SerialUtilities;
import org.jfree.ui.RectangleInsets;
import org.jfree.util.PaintUtilities;

/**
 * A border for a block.  This class is immutable.
 */
public class BlockBorder implements Serializable {
    
    /** For serialization. */
    private static final long serialVersionUID = 4961579220410228283L;
    
    /** An empty border. */
    public static final BlockBorder NONE 
        = new BlockBorder(RectangleInsets.ZERO_INSETS, Color.white);
    
    /** The space reserved for the border. */
    private RectangleInsets insets;
    
    /** The border color. */
    private transient Paint paint;
    
    /**
     * Creates a default border.
     */
    public BlockBorder() {
        this(Color.black);    
    }
    
    /**
     * Creates a new border with the specified color.
     * 
     * @param paint  the color (<code>null</code> not permitted).
     */
    public BlockBorder(Paint paint) {
        this(new RectangleInsets(1, 1, 1, 1), paint);   
    }
    
    /**
     * Creates a new border with the specified line widths (in black).
     * 
     * @param top  the width of the top border.
     * @param left  the width of the left border.
     * @param bottom  the width of the bottom border.
     * @param right  the width of the right border.
     */
    public BlockBorder(double top, double left, double bottom, double right) {
        this(new RectangleInsets(top, left, bottom, right), Color.black);    
    }
    
    /**
     * Creates a new border with the specified line widths (in black).
     * 
     * @param top  the width of the top border.
     * @param left  the width of the left border.
     * @param bottom  the width of the bottom border.
     * @param right  the width of the right border.
     * @param paint  the border paint (<code>null</code> not permitted).
     */
    public BlockBorder(double top, double left, double bottom, double right, 
                       Paint paint) {
        this(new RectangleInsets(top, left, bottom, right), paint);    
    }
    
    /**
     * Creates a new border.
     * 
     * @param insets  the border insets (<code>null</code> not permitted).
     * @param paint  the paint (<code>null</code> not permitted).
     */
    public BlockBorder(RectangleInsets insets, Paint paint) {
        if (insets == null) {
            throw new IllegalArgumentException("Null 'insets' argument.");
        }
        if (paint == null) {
            throw new IllegalArgumentException("Null 'paint' argument.");   
        }
        this.insets = insets;
        this.paint = paint;
    }

    /**
     * Returns the space reserved for the border.
     * 
     * @return The space (never <code>null</code>).
     */
    public RectangleInsets getInsets() {
        return this.insets;
    }
    
    /**
     * Returns the paint used to draw the border.
     * 
     * @return The paint (never <code>null</code>).
     */
    public Paint getPaint() {
        return this.paint;   
    }
    
    /**
     * Draws the border by filling in the reserved space (in black).
     * 
     * @param g2  the graphics device.
     * @param area  the area.
     */
    public void draw(Graphics2D g2, Rectangle2D area) {
        // this default implementation will just fill the available
        // border space with a single color
        double t = this.insets.calculateTopInset(area.getHeight());
        double b = this.insets.calculateBottomInset(area.getHeight());
        double l = this.insets.calculateLeftInset(area.getWidth());
        double r = this.insets.calculateRightInset(area.getWidth());
        double x = area.getX();
        double y = area.getY();
        double w = area.getWidth();
        double h = area.getHeight();
        g2.setPaint(this.paint);
        Rectangle2D rect = new Rectangle2D.Double();
        if (t > 0.0) {
            rect.setRect(x, y, w, t);
            g2.fill(rect);
        }
        if (b > 0.0) {
            rect.setRect(x, y + h - b, w, b);
            g2.fill(rect);
        }
        if (l > 0.0) {
            rect.setRect(x, y, l, h);
            g2.fill(rect);
        }
        if (r > 0.0) {
            rect.setRect(x + w - r, y, r, h);
            g2.fill(rect);
        }
    }
    
    /**
     * Tests this border for equality with an arbitrary instance.
     * 
     * @param obj  the object (<code>null</code> permitted).
     * 
     * @return A boolean.
     */
    public boolean equals(Object obj) {
        if (obj == this) {
            return true;   
        }
        if (!(obj instanceof BlockBorder)) {
            return false;   
        }
        BlockBorder that = (BlockBorder) obj;
        if (!this.insets.equals(that.insets)) {
            return false;   
        }
        if (!PaintUtilities.equal(this.paint, that.paint)) {
            return false;
        }
        return true;
    }
    
    /**
     * 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();
        SerialUtilities.writePaint(this.paint, stream);
    }

    /**
     * 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.paint = SerialUtilities.readPaint(stream);
    }
 
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产在线国偷精品免费看| 亚洲高清久久久| 日韩欧美视频一区| 制服视频三区第一页精品| 亚洲人成网站色在线观看| 欧美国产成人精品| 国产欧美日韩中文久久| 久久精品在线免费观看| 国产婷婷色一区二区三区在线| 日韩免费看的电影| 久久一夜天堂av一区二区三区| 欧美成人一区二区三区| 精品久久一区二区三区| 久久亚洲免费视频| 中文字幕av一区二区三区高| 国产精品无遮挡| 亚洲欧美日本在线| 亚洲va天堂va国产va久| 日本强好片久久久久久aaa| 美女网站色91| 国产91精品在线观看| 成人免费视频国产在线观看| 91美女在线观看| 欧美性受极品xxxx喷水| 4438亚洲最大| 久久久美女毛片| 亚洲人亚洲人成电影网站色| 亚洲综合成人在线视频| 蜜桃久久久久久久| 国产成人av一区二区三区在线观看| 成人av免费网站| 欧美在线不卡一区| 日韩亚洲欧美在线| 中文字幕不卡在线观看| 亚洲一区在线视频| 另类调教123区| 波多野结衣中文字幕一区 | 免费高清成人在线| 国产精品中文欧美| 在线一区二区三区四区五区 | 一本一本久久a久久精品综合麻豆| 日本高清成人免费播放| 日韩一区二区三区在线观看| 久久蜜臀中文字幕| 日韩码欧中文字| 蜜桃视频第一区免费观看| www.亚洲色图| 日韩欧美一二三区| 中文字幕在线观看不卡视频| 五月婷婷激情综合| 成人性生交大合| 911精品产国品一二三产区| 久久一夜天堂av一区二区三区| 一区二区在线观看视频在线观看| 麻豆视频观看网址久久| 91在线porny国产在线看| 欧美一级黄色大片| 亚洲欧美日韩综合aⅴ视频| 精品一区二区免费看| 91黄色小视频| 欧美韩国日本综合| 日韩av在线播放中文字幕| 成人激情校园春色| 欧美zozo另类异族| 洋洋成人永久网站入口| 高清beeg欧美| 欧美一区二区三区视频免费| 亚洲女同一区二区| 国产激情视频一区二区三区欧美| 在线播放欧美女士性生活| 国产精品美女久久久久久久 | 91在线国产福利| 精品盗摄一区二区三区| 亚洲理论在线观看| 国产91丝袜在线播放0| 日韩欧美国产综合一区 | 91亚洲永久精品| 精品免费一区二区三区| 国产成人精品三级| 国产精品99久久久久| 欧美二区三区91| 亚洲综合在线免费观看| 成人国产电影网| 久久久久久麻豆| 麻豆精品国产91久久久久久| 欧美日韩国产综合一区二区三区| 亚洲欧美一区二区视频| 成人免费av资源| 久久―日本道色综合久久| 蜜桃视频在线一区| 欧美一区二区三区在线视频| 亚洲制服欧美中文字幕中文字幕| 成人永久免费视频| 欧美激情一区二区三区在线| 九九视频精品免费| 日韩欧美国产电影| 免费成人结看片| 欧洲精品在线观看| 一区二区欧美视频| 在线观看免费成人| 亚洲午夜羞羞片| 欧美天堂一区二区三区| 亚洲国产欧美一区二区三区丁香婷| 99久久精品国产导航| 亚洲欧美在线另类| 99久久精品国产一区二区三区| 国产精品毛片a∨一区二区三区| 国产a视频精品免费观看| 国产日韩成人精品| 成人av在线电影| 亚洲欧洲国产日韩| 色综合久久88色综合天天6| 日韩码欧中文字| 91久久奴性调教| 亚洲第一精品在线| 欧美一区二区三区啪啪| 久久99精品久久久久久久久久久久 | 国产一区二区三区av电影| 精品国产伦一区二区三区观看方式 | 欧美色综合天天久久综合精品| 亚洲嫩草精品久久| 欧美伊人久久久久久久久影院| 一区二区三区四区精品在线视频| 欧美亚洲国产怡红院影院| 视频一区二区三区入口| 欧美大度的电影原声| 国产99久久久国产精品潘金网站| 中文字幕巨乱亚洲| 91精品福利视频| 日韩精品国产欧美| 精品理论电影在线观看| 国产乱码字幕精品高清av| 国产精品久久久久桃色tv| 色婷婷综合久久久久中文| 午夜精品久久久久久久久久久| 日韩视频一区二区三区在线播放 | 成人av在线资源网站| 亚洲男同性恋视频| 91精品国产色综合久久不卡电影| 三级影片在线观看欧美日韩一区二区 | 欧美精品一卡二卡| 毛片av一区二区| 中国色在线观看另类| 欧美揉bbbbb揉bbbbb| 国内一区二区在线| 亚洲视频狠狠干| 欧美一区二区播放| 国产91在线|亚洲| 午夜欧美在线一二页| 久久久欧美精品sm网站| 色偷偷久久人人79超碰人人澡| 日本欧美肥老太交大片| 欧美激情一区在线| 91精品国产综合久久小美女| 成人中文字幕在线| 美日韩一级片在线观看| 中文字幕一区在线观看视频| 欧美日韩午夜在线| 激情综合色播激情啊| 亚洲综合一区二区精品导航| 久久综合色8888| 欧美中文字幕一二三区视频| 亚洲综合一区在线| 欧美精品一区二区三区在线播放| 91小视频在线免费看| 久久国产乱子精品免费女| 亚洲精品视频在线观看网站| 久久综合久久久久88| 欧美网站大全在线观看| 成人免费三级在线| 九九久久精品视频 | 国产精品一线二线三线| 亚洲成人手机在线| 中文字幕亚洲精品在线观看| 日韩欧美黄色影院| 欧美亚洲综合网| av一区二区三区四区| 国产一区二区福利| 日韩成人免费看| 亚洲一区二区三区精品在线| 欧美国产欧美亚州国产日韩mv天天看完整| 91精品久久久久久蜜臀| 色婷婷久久99综合精品jk白丝| 国产成人精品亚洲日本在线桃色| 免费在线看一区| 亚洲二区在线视频| 最新久久zyz资源站| 国产午夜精品久久| 久久综合九色综合欧美就去吻 | 日韩欧美一区电影| 欧美日韩亚洲综合| 色综合久久久久久久| 成人黄色在线看| 大胆欧美人体老妇| 国产精品资源在线| 国产乱子轮精品视频| 麻豆久久久久久| 免费观看成人av| 日本午夜精品视频在线观看| 五月天婷婷综合|