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

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

?? sizedisplayer.java

?? java tutorial.sun公司官方出品。java入門書籍。最新版
?? JAVA
字號:
/* * Copyright (c) 1995 - 2008 Sun Microsystems, Inc.  All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * *   - Redistributions of source code must retain the above copyright *     notice, this list of conditions and the following disclaimer. * *   - Redistributions in binary form must reproduce the above copyright *     notice, this list of conditions and the following disclaimer in the *     documentation and/or other materials provided with the distribution. * *   - Neither the name of Sun Microsystems nor the names of its *     contributors may be used to endorse or promote products derived *     from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ package components;import javax.swing.*;import java.awt.*;import java.awt.font.*;import java.awt.geom.*;public class SizeDisplayer extends JComponent {    private Icon icon;    private String text;    private int xTextPad = 5;    private int yTextPad = 5;    //Reuse textSizeD and textSizeR to avoid creating    //lots of unnecessary Dimensions and Rectangles.    private Rectangle textSizeR = new Rectangle();    private Dimension textSizeD = new Dimension();        private Dimension userPreferredSize, //null                      userMinimumSize,   //null                      userMaximumSize;   //null        public SizeDisplayer(String text, Icon icon) {        this.text = text;        this.icon = icon;        setOpaque(true);    }        protected void paintComponent(Graphics g) {        Graphics2D g2d = (Graphics2D)g.create(); //copy g        Dimension minSize = getMinimumSize();        Dimension prefSize = getPreferredSize();        Dimension size = getSize();        int prefX = 0, prefY = 0;        //Set hints so text looks nice.        g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,                             RenderingHints.VALUE_ANTIALIAS_ON);        g2d.setRenderingHint(RenderingHints.KEY_RENDERING,                             RenderingHints.VALUE_RENDER_QUALITY);                                     //Draw the maximum size rectangle if we're opaque.        if (isOpaque()) {            g2d.setColor(getBackground());            g2d.fillRect(0, 0, size.width, size.height);        }                //Draw the icon.        if (icon != null) {            Composite oldComposite = g2d.getComposite();            g2d.setComposite(AlphaComposite.getInstance(                                      AlphaComposite.SRC_OVER,                                      0.1f));            icon.paintIcon(this, g2d,                           (size.width - icon.getIconWidth())/2,                           (size.height - icon.getIconHeight())/2);            g2d.setComposite(oldComposite);        }                        //Draw the preferred size rectangle.        prefX = (size.width - prefSize.width)/2;        prefY = (size.height - prefSize.height)/2;        g2d.setColor(Color.RED);        g2d.drawRect(prefX, prefY, prefSize.width - 1, prefSize.height - 1);        //Draw the minimum size rectangle.        if (minSize.width != prefSize.width || minSize.height != prefSize.height) {            int minX = (size.width - minSize.width)/2;            int minY = (size.height - minSize.height)/2;            g2d.setColor(Color.CYAN);            g2d.drawRect(minX, minY, minSize.width - 1, minSize.height - 1);        }                //Draw the text.        if (text != null) {            Dimension textSize = getTextSize(g2d);            g2d.setColor(getForeground());            g2d.drawString(text,                           (size.width - textSize.width)/2,                           (size.height - textSize.height)/2                            + g2d.getFontMetrics().getAscent());        }        g2d.dispose();    }            private Dimension getTextSize(Graphics2D g2d) {        if (text == null) {            textSizeD.setSize(0,0);        } else {            FontRenderContext frc;            if (g2d != null) {                frc = g2d.getFontRenderContext();            } else {                frc = new FontRenderContext(null, false, false);            }            Rectangle2D textRect = getFont().getStringBounds(                                              text,                                              frc);            textSizeR.setRect(textRect);            textSizeD.setSize(textSizeR.width, textSizeR.height);        }                return textSizeD;    }            public Dimension getMinimumSize() {        if (userMinimumSize != null) { //user has set the min size            return userMinimumSize;        } else {            return getPreferredSize();        }    }        public Dimension getPreferredSize() {        if (userPreferredSize != null) { //user has set the pref size            return userPreferredSize;        } else {            return calculatePreferredSize();        }    }        public Dimension getMaximumSize() {        if (userMaximumSize != null) { //user has set the max size            return userMaximumSize;        } else {            return new Dimension(Integer.MAX_VALUE,                                 Integer.MAX_VALUE);        }    }        public void setMinimumSize(Dimension newSize) {        userMinimumSize = newSize;    }    public void setPreferredSize(Dimension newSize) {        userPreferredSize = newSize;    }    public void setMaximumSize(Dimension newSize) {        userMaximumSize = newSize;    }        private Dimension calculatePreferredSize() {        Insets insets = getInsets();        Dimension textSize = getTextSize(null);        int iconWidth = 0;        int iconHeight = 0;                if (icon != null) {            iconWidth = icon.getIconWidth();            iconHeight = icon.getIconHeight();        }        return new Dimension(                Math.max(iconWidth, textSize.width + 2*xTextPad)                + insets.left + insets.right,                Math.max(iconHeight, textSize.height + 2*yTextPad)                + insets.top + insets.bottom);    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人av资源下载| 色婷婷激情综合| 不卡一区在线观看| 欧美久久免费观看| 亚洲欧美日韩久久| 国产激情一区二区三区桃花岛亚洲| 一本一道久久a久久精品| 国产91色综合久久免费分享| 国产精品国产三级国产aⅴ无密码| 久久九九久精品国产免费直播| 一区二区三区日韩在线观看| 国产高清精品久久久久| 在线成人免费观看| 国产精品久线观看视频| 久久机这里只有精品| 欧美视频完全免费看| 国产精品夫妻自拍| 国产91综合一区在线观看| 日韩欧美国产综合一区| 亚洲18色成人| 欧美亚洲日本一区| 亚洲精品v日韩精品| 成人av网站在线观看免费| 久久久亚洲精华液精华液精华液 | 国产精品久久久久久久久免费樱桃| 三级成人在线视频| 日本不卡免费在线视频| 久久夜色精品一区| 午夜精品在线视频一区| 午夜国产精品影院在线观看| 色偷偷88欧美精品久久久| 久久久久久9999| 国精产品一区一区三区mba视频| 欧美裸体bbwbbwbbw| 午夜av电影一区| 884aa四虎影成人精品一区| 亚洲午夜久久久久久久久电影院 | 日韩一区二区三区在线观看| 亚洲国产色一区| 欧美性色黄大片手机版| 亚洲妇熟xx妇色黄| 91精品蜜臀在线一区尤物| 美女网站色91| 久久久99久久| www.亚洲国产| 亚洲一卡二卡三卡四卡五卡| 欧美日韩国产综合久久| 乱一区二区av| 国产一区二区不卡| 欧美性受xxxx黑人xyx| 亚洲精品国产a久久久久久| 国产亚洲美州欧州综合国| 成人网在线免费视频| 自拍偷自拍亚洲精品播放| 91极品美女在线| 午夜激情久久久| 久久毛片高清国产| 91在线观看免费视频| 亚洲成人激情社区| 精品久久免费看| 91免费精品国自产拍在线不卡| 中文在线一区二区| 91成人网在线| 国内精品伊人久久久久av一坑 | 久久久综合视频| 99国产欧美另类久久久精品| 亚洲成人一二三| 久久久久久久久久久久电影| 色综合色综合色综合色综合色综合| 五月婷婷综合网| 国产人成一区二区三区影院| 99久久国产综合色|国产精品| 亚洲3atv精品一区二区三区| 国产人妖乱国产精品人妖| 欧美色图片你懂的| 国产精品亚洲成人| 国产成人自拍网| 三级精品在线观看| 亚洲欧洲日韩女同| 日韩精品中文字幕在线不卡尤物 | 国产嫩草影院久久久久| 欧美日韩一区中文字幕| 豆国产96在线|亚洲| 丝袜亚洲精品中文字幕一区| 国产精品美女久久久久久久网站| 3d动漫精品啪啪一区二区竹菊| 国产真实乱偷精品视频免| 亚洲一区二区视频在线| 欧美激情中文字幕一区二区| 91麻豆精品国产综合久久久久久 | 欧美美女视频在线观看| 99视频精品全部免费在线| 韩国成人福利片在线播放| 性久久久久久久久久久久| 一区二区中文字幕在线| 国产亚洲污的网站| 精品国产伦一区二区三区免费| 久久99精品久久久久久| 欧美剧情电影在线观看完整版免费励志电影 | av色综合久久天堂av综合| 亚洲柠檬福利资源导航| 欧美日韩一区高清| 国内成人自拍视频| 亚洲精品中文在线影院| 51精品秘密在线观看| 国产乱人伦偷精品视频免下载| 国产精品麻豆久久久| 欧美视频三区在线播放| 国内精品免费**视频| 悠悠色在线精品| 日韩免费电影一区| 99精品视频一区| 美女爽到高潮91| 亚洲欧洲99久久| 精品免费国产二区三区| 91蜜桃在线观看| 极品美女销魂一区二区三区免费| 亚洲特黄一级片| 精品国产凹凸成av人网站| 91福利在线播放| 国产精品一区二区在线看| 亚洲大片精品永久免费| 久久精品亚洲乱码伦伦中文| 欧美日本乱大交xxxxx| 成人av电影在线观看| 久久99国产精品久久| 亚洲国产一区视频| 欧美激情一区二区| 日韩一区二区三区av| 一本大道久久a久久综合婷婷| 麻豆高清免费国产一区| 亚洲一区二区三区不卡国产欧美| 国产亚洲成aⅴ人片在线观看| 911精品产国品一二三产区| 色综合久久久久久久久久久| 国产精品综合一区二区三区| 日韩免费观看高清完整版| 91精品国产色综合久久| 久久久久久夜精品精品免费| 国产精品色一区二区三区| 亚洲精品国产一区二区精华液| 亚洲一区二区影院| 韩国毛片一区二区三区| 91丨porny丨国产入口| 欧美精品第1页| 免费不卡在线观看| 国产成人精品免费视频网站| 色婷婷国产精品久久包臀| 日韩三级免费观看| 久久综合九色综合欧美就去吻| 亚洲免费视频中文字幕| 亚洲成人激情综合网| 激情伊人五月天久久综合| av在线播放一区二区三区| 欧美老肥妇做.爰bbww视频| 欧美精品一区二区三区久久久| 国产精品免费视频一区| 亚洲二区视频在线| 成人视屏免费看| 7777精品伊人久久久大香线蕉经典版下载 | 亚洲男人电影天堂| 蓝色福利精品导航| 色菇凉天天综合网| 久久综合九色综合欧美就去吻| 亚洲蜜臀av乱码久久精品蜜桃| 蜜桃传媒麻豆第一区在线观看| 成人不卡免费av| 欧美变态凌虐bdsm| 日本一区二区视频在线| 波多野结衣中文字幕一区二区三区| 91性感美女视频| 久久毛片高清国产| 日韩福利视频网| 在线观看av不卡| 成人欧美一区二区三区黑人麻豆| 麻豆国产欧美日韩综合精品二区| 正在播放亚洲一区| 亚洲精品综合在线| 成人午夜在线播放| 日韩精品一区二区三区视频播放| 亚洲欧美日韩一区二区| 国产在线精品一区二区三区不卡| 欧美日韩一级黄| 亚洲视频一二区| 成人av电影免费在线播放| www亚洲一区| 久久精品国产一区二区三区免费看| 91国产免费看| 亚洲免费av高清| 99精品视频在线观看免费| 国产欧美精品一区二区色综合| 美女久久久精品| 欧美一区二区三区四区视频| 亚洲成a人v欧美综合天堂下载 | 久久久蜜桃精品| 精品一区二区成人精品| 91麻豆精品国产91久久久更新时间| 亚洲一二三级电影| 欧美日韩国产成人在线免费| 一个色综合av|