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

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

?? sizedisplayer.java

?? java tutotrials or beginners
?? 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一区二区三区免费野_久草精品视频
91极品视觉盛宴| 欧美日韩一区中文字幕| 日韩免费看的电影| 九色综合国产一区二区三区| 26uuu国产电影一区二区| 国产一区福利在线| 中文字幕av一区二区三区高| 成人黄页毛片网站| 亚洲美女在线国产| 欧美精品99久久久**| 毛片av一区二区| 久久久99精品久久| 99r精品视频| 午夜精品福利一区二区三区av | 国产成人8x视频一区二区| 久久精品视频在线免费观看| 成人一区二区三区在线观看| 亚洲视频一区二区在线观看| 欧美日韩国产综合久久| 国产在线一区观看| 国产精品久久久久aaaa| 精品视频一区三区九区| 国产乱码一区二区三区| 国产精品护士白丝一区av| 欧美日韩免费高清一区色橹橹 | 欧美日韩视频专区在线播放| 免费高清在线一区| 中文字幕欧美激情| 欧美精选一区二区| 99国产精品国产精品久久| 蜜臀精品久久久久久蜜臀| 综合久久一区二区三区| 欧美一区二区黄色| 成人久久久精品乱码一区二区三区 | 欧美一区二区视频在线观看2020| 国产精品888| 亚洲va韩国va欧美va精品| 国产清纯白嫩初高生在线观看91| 欧美中文字幕一区二区三区| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 日韩精品资源二区在线| www.欧美色图| 久久精品国产成人一区二区三区| 国产精品女上位| 日韩片之四级片| 91亚洲资源网| 国产91综合一区在线观看| 日韩影院在线观看| 偷拍一区二区三区四区| 国产精品女上位| 久久综合狠狠综合| 欧美一区二区三区免费视频| 91色视频在线| 国产69精品久久777的优势| 午夜精品久久久久久久久久久 | 99久久久精品| 国内久久婷婷综合| 日本欧美一区二区三区乱码| 亚洲女女做受ⅹxx高潮| 国产精品入口麻豆原神| 精品国内二区三区| 日韩午夜电影在线观看| 欧美蜜桃一区二区三区| 日本道在线观看一区二区| 99在线精品视频| 成人小视频在线观看| 风间由美中文字幕在线看视频国产欧美| 亚洲福中文字幕伊人影院| 亚洲激情欧美激情| 亚洲品质自拍视频网站| 亚洲色欲色欲www| 国产精品久久久久精k8| 国产精品进线69影院| 国产精品拍天天在线| 国产精品美日韩| 亚洲欧洲日韩综合一区二区| 亚洲女爱视频在线| 洋洋av久久久久久久一区| 一区二区成人在线观看| 亚洲电影中文字幕在线观看| 亚洲午夜久久久久久久久电影院| 一区二区三区日韩欧美精品| 亚洲欧美区自拍先锋| 亚洲一区二区三区中文字幕在线| 亚洲视频免费看| 一个色综合av| 午夜精品成人在线| 免费成人小视频| 国产高清一区日本| 91丨九色丨国产丨porny| 欧洲精品视频在线观看| 欧美精品777| 久久这里只有精品视频网| 国产清纯白嫩初高生在线观看91| 中国av一区二区三区| 一区二区三区中文在线| 婷婷六月综合亚洲| 国产精品一区二区久久不卡| 99精品欧美一区二区蜜桃免费 | 欧美大胆一级视频| 亚洲国产精品国自产拍av| 亚洲欧洲成人精品av97| 亚洲国产欧美在线人成| 国产综合成人久久大片91| 丁香六月久久综合狠狠色| 97久久超碰精品国产| 欧美精品一级二级三级| 欧美va亚洲va香蕉在线| 国产精品色眯眯| 亚洲综合网站在线观看| 免费视频最近日韩| 99久久精品一区二区| 欧美丰满少妇xxxxx高潮对白| 精品国产一二三| 中文字幕综合网| 美国一区二区三区在线播放| 不卡一二三区首页| 日韩午夜精品视频| 18成人在线观看| 精品一区二区三区欧美| 99精品黄色片免费大全| 欧美一区二区三区日韩视频| 国产精品毛片久久久久久久| 亚洲国产精品综合小说图片区| 国产一区二区美女诱惑| 欧美色窝79yyyycom| 久久美女高清视频| 亚洲主播在线播放| 国产99精品视频| 欧美一区二区性放荡片| 亚洲精品久久7777| 国产精品正在播放| 制服丝袜中文字幕一区| 亚洲三级免费观看| 国产91精品欧美| 欧美成人一区二区三区在线观看| 亚洲激情中文1区| 成人永久aaa| 日韩精品中午字幕| 亚洲综合在线五月| 波波电影院一区二区三区| 日韩欧美三级在线| 亚洲国产乱码最新视频| 成人美女视频在线看| 久久综合久久综合亚洲| 奇米影视在线99精品| 欧美日韩国产区一| 亚洲精品一二三| 床上的激情91.| 国产欧美一区二区在线| 美女www一区二区| 日韩一区二区高清| 日本女人一区二区三区| 欧美午夜精品免费| 亚洲国产成人va在线观看天堂| 91麻豆123| 综合欧美亚洲日本| 色综合久久六月婷婷中文字幕| 国产精品国产三级国产aⅴ中文| 丁香啪啪综合成人亚洲小说| 国产日韩三级在线| 国内精品久久久久影院色| 精品日产卡一卡二卡麻豆| 青青草原综合久久大伊人精品 | 国产精品福利av| 丁香天五香天堂综合| 日本一区免费视频| 国产精品66部| 国产女人aaa级久久久级| 福利91精品一区二区三区| 国产精品乱人伦中文| 99视频国产精品| 亚洲欧美二区三区| 欧美日韩国产a| 日韩中文字幕91| 精品久久一区二区| 国产成人综合网站| 中文字幕一区在线观看视频| 精品国产乱码久久| 天天色图综合网| 在线不卡中文字幕播放| 理论片日本一区| 久久精品无码一区二区三区| 国产不卡视频一区| 亚洲女爱视频在线| 欧美另类videos死尸| 麻豆精品视频在线观看免费| 国产亚洲综合色| 91美女福利视频| 婷婷开心激情综合| 久久久亚洲精华液精华液精华液| 国产99久久久精品| 一区二区三区在线视频免费观看| 欧美日本精品一区二区三区| 日韩va欧美va亚洲va久久| 久久蜜桃av一区二区天堂| 99re在线精品| 青娱乐精品视频| 中文字幕制服丝袜一区二区三区 | 国产欧美一区二区精品性色|