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

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

?? synthbuttonui.java

?? JAVA的一些源碼 JAVA2 STANDARD EDITION DEVELOPMENT KIT 5.0
?? JAVA
字號:
/* * @(#)SynthButtonUI.java	1.20 04/04/16 * * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */package javax.swing.plaf.synth;import java.awt.*;import java.awt.event.*;import java.io.Serializable;import javax.swing.*;import javax.swing.border.*;import java.awt.*;import java.awt.event.*;import java.beans.*;import javax.swing.plaf.*;import javax.swing.plaf.basic.BasicButtonUI;import javax.swing.plaf.basic.BasicHTML;import javax.swing.text.View;import sun.swing.plaf.synth.SynthUI;import sun.swing.plaf.synth.DefaultSynthStyle;/** * Synth's ButtonUI implementation. * * @version 1.20, 04/16/04 * @author Scott Violet */class SynthButtonUI extends BasicButtonUI implements                                 PropertyChangeListener, SynthUI {    private SynthStyle style;    public static ComponentUI createUI(JComponent c) {        return new SynthButtonUI();    }    protected void installDefaults(AbstractButton b) {        updateStyle(b);        LookAndFeel.installProperty(b, "rolloverEnabled", Boolean.TRUE);    }    protected void installListeners(AbstractButton b) {        super.installListeners(b);        b.addPropertyChangeListener(this);    }    void updateStyle(AbstractButton b) {        SynthContext context = getContext(b, SynthConstants.ENABLED);        SynthStyle oldStyle = style;        style = SynthLookAndFeel.updateStyle(context, this);        if (style != oldStyle) {            if (b.getMargin() == null ||                                (b.getMargin() instanceof UIResource)) {                Insets margin = (Insets)style.get(context,getPropertyPrefix() +                                                  "margin");                if (margin == null) {                    // Some places assume margins are non-null.                    margin = SynthLookAndFeel.EMPTY_UIRESOURCE_INSETS;                }                b.setMargin(margin);            }            Object value = style.get(context, getPropertyPrefix() + "iconTextGap");            if (value != null) {		        LookAndFeel.installProperty(b, "iconTextGap", value);            }            value = style.get(context, getPropertyPrefix() + "contentAreaFilled");            LookAndFeel.installProperty(b, "contentAreaFilled",                                        value != null? value : Boolean.TRUE);            if (oldStyle != null) {                uninstallKeyboardActions(b);                installKeyboardActions(b);            }        }        context.dispose();    }    protected void uninstallListeners(AbstractButton b) {        super.uninstallListeners(b);        b.removePropertyChangeListener(this);    }    protected void uninstallDefaults(AbstractButton b) {        SynthContext context = getContext(b, ENABLED);        style.uninstallDefaults(context);        context.dispose();        style = null;    }    public SynthContext getContext(JComponent c) {        return getContext(c, getComponentState(c));    }    SynthContext getContext(JComponent c, int state) {        Region region = getRegion(c);        return SynthContext.getContext(SynthContext.class, c, region,                                       style, state);    }    private Region getRegion(JComponent c) {        return SynthLookAndFeel.getRegion(c);    }    /**     * Returns the current state of the passed in <code>AbstractButton</code>.     */    private int getComponentState(JComponent c) {        int state = ENABLED;        if (!c.isEnabled()) {            state = DISABLED;        }        if (SynthLookAndFeel.selectedUI == this) {            return SynthLookAndFeel.selectedUIState | SynthConstants.ENABLED;        }        ButtonModel model = ((AbstractButton)c).getModel();        if (model.isPressed()) {            if (model.isArmed()) {                state = PRESSED;            }            else {                state = MOUSE_OVER;            }        }        else if (model.isRollover()) {            state = MOUSE_OVER;        }        if (model.isSelected()) {            state |= SELECTED;        }        if (c.isFocusOwner()) {            state |= FOCUSED;        }        if ((c instanceof JButton) && ((JButton)c).isDefaultButton()) {            state |= DEFAULT;        }        return state;    }    // ********************************    //          Paint Methods    // ********************************    public void update(Graphics g, JComponent c) {        SynthContext context = getContext(c);        SynthLookAndFeel.update(context, g);        paintBackground(context, g, c);        paint(context, g);        context.dispose();    }    public void paint(Graphics g, JComponent c) {        SynthContext context = getContext(c);        paint(context, g);        context.dispose();    }    protected void paint(SynthContext context, Graphics g) {        AbstractButton b = (AbstractButton)context.getComponent();        g.setColor(context.getStyle().getColor(context,                                               ColorType.TEXT_FOREGROUND));        g.setFont(style.getFont(context));        context.getStyle().getGraphicsUtils(context).paintText(            context, g, b.getText(), getIcon(b),            b.getHorizontalAlignment(), b.getVerticalAlignment(),            b.getHorizontalTextPosition(), b.getVerticalTextPosition(),            b.getIconTextGap(), b.getDisplayedMnemonicIndex(),            getTextShiftOffset(context));    }    void paintBackground(SynthContext context, Graphics g, JComponent c) {        context.getPainter().paintButtonBackground(context, g, 0, 0,                                                c.getWidth(), c.getHeight());    }    public void paintBorder(SynthContext context, Graphics g, int x,                            int y, int w, int h) {        context.getPainter().paintButtonBorder(context, g, x, y, w, h);    }    /**     * Returns the default icon. This should NOT callback     * to the JComponent.     *     * @param b AbstractButton the iocn is associated with     * @return default icon      */       protected Icon getDefaultIcon(AbstractButton b) {        SynthContext context = getContext(b);        Icon icon = context.getStyle().getIcon(context, getPropertyPrefix() + "icon");        context.dispose();        return icon;    }        /**     * Returns the Icon to use in painting the button.     */    protected Icon getIcon(AbstractButton b) {        Icon icon = getEnabledIcon(b);        ButtonModel model = b.getModel();        Icon tmpIcon = null;         if (!model.isEnabled()) {            tmpIcon = getSynthDisabledIcon(b);        } else if (model.isPressed() && model.isArmed()) {            tmpIcon = getPressedIcon(b);        } else if (b.isRolloverEnabled() && model.isRollover()) {            tmpIcon = getRolloverIcon(b);        } else if (model.isSelected()) {            tmpIcon = getSelectedIcon(b);        }        if (tmpIcon != null) {            icon = tmpIcon;        }        if(icon == null) {            return getDefaultIcon(b);        }        return icon;    }    private Icon getSynthIcon(AbstractButton b, int synthConstant) {        return style.getIcon(getContext(b, synthConstant), getPropertyPrefix() + "icon");    }        private Icon getEnabledIcon(AbstractButton b) {        Icon tmpIcon = b.getIcon();        if(tmpIcon == null) {            tmpIcon = getSynthIcon(b, SynthConstants.ENABLED);         }        return tmpIcon;    }        private Icon getSelectedIcon(AbstractButton b) {        Icon tmpIcon = b.getSelectedIcon();        if(tmpIcon == null) {            tmpIcon = getSynthIcon(b, SynthConstants.SELECTED);        }        return tmpIcon;    }    private Icon getRolloverIcon(AbstractButton b) {        ButtonModel model = b.getModel();        Icon tmpIcon;        if (model.isSelected()) {            tmpIcon = b.getRolloverSelectedIcon();            if (tmpIcon == null) {                tmpIcon = getSynthIcon(b, SynthConstants.SELECTED);                if (tmpIcon == null) {                  tmpIcon = getSelectedIcon(b);                 }            }        } else {            tmpIcon = b.getRolloverIcon();            if (tmpIcon == null) {              tmpIcon = getSynthIcon(b, SynthConstants.MOUSE_OVER);             }        }        return tmpIcon;    }    private Icon getPressedIcon(AbstractButton b) {        Icon tmpIcon;        tmpIcon = b.getPressedIcon();        if (tmpIcon == null) {            tmpIcon = getSynthIcon(b, SynthConstants.PRESSED);            if (tmpIcon == null) {              tmpIcon = getSelectedIcon(b);            }        }        return tmpIcon;    }    private Icon getSynthDisabledIcon(AbstractButton b) {        ButtonModel model = b.getModel();        Icon tmpIcon;        if (model.isSelected()) {            tmpIcon = b.getDisabledSelectedIcon();            if(tmpIcon == null) {              tmpIcon = getSynthIcon(b, SynthConstants.DISABLED|SynthConstants.SELECTED);               }        } else {            tmpIcon = b.getDisabledIcon();            if(tmpIcon == null) {                tmpIcon = getSynthIcon(b, SynthConstants.DISABLED);            }        }        return tmpIcon;    }    /**     * Returns the amount to shift the text/icon when painting.     */    protected int getTextShiftOffset(SynthContext state) {        AbstractButton button = (AbstractButton)state.getComponent();        ButtonModel model = button.getModel();        if (model.isArmed() && model.isPressed() &&                               button.getPressedIcon() == null) {            return state.getStyle().getInt(state, getPropertyPrefix() +                                           "textShiftOffset", 0);        }        return 0;    }    // ********************************    //          Layout Methods    // ********************************    public Dimension getMinimumSize(JComponent c) {        if (c.getComponentCount() > 0 && c.getLayout() != null) {            return null;        }        AbstractButton b = (AbstractButton)c;        SynthContext ss = getContext(c);        Dimension size = ss.getStyle().getGraphicsUtils(ss).getMinimumSize(               ss, ss.getStyle().getFont(ss), b.getText(), getSizingIcon(b),               b.getHorizontalAlignment(), b.getVerticalAlignment(),               b.getHorizontalTextPosition(),               b.getVerticalTextPosition(), b.getIconTextGap(),               b.getDisplayedMnemonicIndex());        ss.dispose();        return size;    }    public Dimension getPreferredSize(JComponent c) {        if (c.getComponentCount() > 0 && c.getLayout() != null) {            return null;        }        AbstractButton b = (AbstractButton)c;        SynthContext ss = getContext(c);        Dimension size = ss.getStyle().getGraphicsUtils(ss).getPreferredSize(               ss, ss.getStyle().getFont(ss), b.getText(), getSizingIcon(b),               b.getHorizontalAlignment(), b.getVerticalAlignment(),               b.getHorizontalTextPosition(),               b.getVerticalTextPosition(), b.getIconTextGap(),               b.getDisplayedMnemonicIndex());        ss.dispose();        return size;    }    public Dimension getMaximumSize(JComponent c) {        if (c.getComponentCount() > 0 && c.getLayout() != null) {            return null;        }        AbstractButton b = (AbstractButton)c;        SynthContext ss = getContext(c);        Dimension size = ss.getStyle().getGraphicsUtils(ss).getMaximumSize(               ss, ss.getStyle().getFont(ss), b.getText(), getSizingIcon(b),               b.getHorizontalAlignment(), b.getVerticalAlignment(),               b.getHorizontalTextPosition(),               b.getVerticalTextPosition(), b.getIconTextGap(),               b.getDisplayedMnemonicIndex());        ss.dispose();        return size;    }    /**     * Returns the Icon used in calculating the pref/min/max size.     */    protected Icon getSizingIcon(AbstractButton b) {        // NOTE: this is slightly different than BasicButtonUI, where it        // would just use getIcon, but this should be ok.        return (b.isEnabled()) ? b.getIcon() : b.getDisabledIcon();    }    public void propertyChange(PropertyChangeEvent e) {        if (SynthLookAndFeel.shouldUpdateStyle(e)) {            updateStyle((AbstractButton)e.getSource());        }    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91蜜桃免费观看视频| 日韩精品亚洲一区二区三区免费| 欧美精品一级二级| 91理论电影在线观看| 国产成人在线看| 国产一区二区网址| 极品少妇xxxx精品少妇偷拍| 秋霞影院一区二区| 国模套图日韩精品一区二区| 久久国产精品99久久人人澡| 久久精品国产精品青草| 国模娜娜一区二区三区| 国产精品一区二区男女羞羞无遮挡| 国产精品99久| 99久久99久久久精品齐齐| 色欧美乱欧美15图片| 欧美无砖砖区免费| 91精品国产91久久综合桃花| 日韩欧美国产三级电影视频| 国产婷婷一区二区| 国产精品剧情在线亚洲| 亚洲一区在线视频| 免费成人深夜小野草| 国产精品一区二区x88av| 成人av小说网| 色av成人天堂桃色av| 欧美年轻男男videosbes| 精品国产一区a| 中文字幕av不卡| 日韩精品欧美精品| 国产一区二区三区最好精华液 | 久久综合久久综合亚洲| 中文字幕乱码久久午夜不卡| 亚洲欧美日本在线| 麻豆91免费观看| 91性感美女视频| 欧美一区二区精品在线| 国产精品免费人成网站| 日本少妇一区二区| 99久久精品免费看| 精品成人一区二区| 一区二区成人在线| 国产精品亚洲成人| 欧美精品三级在线观看| 国产校园另类小说区| 另类小说一区二区三区| 色噜噜偷拍精品综合在线| 欧美大片日本大片免费观看| 亚洲色图.com| 国产精品1024| 91精品国产综合久久小美女| 亚洲免费av网站| 国产黄色精品视频| 日韩视频中午一区| 亚洲自拍偷拍麻豆| 99久久精品国产麻豆演员表| 久久综合国产精品| 日本伊人色综合网| 欧美三日本三级三级在线播放| 国产女人18毛片水真多成人如厕 | 精品蜜桃在线看| 亚洲高清免费在线| 色综合天天综合狠狠| 国产精品视频你懂的| 国产一区二区精品久久99| 欧美一区二区在线视频| 亚洲一区免费在线观看| 91香蕉视频黄| 中文字幕日本不卡| 成人精品国产一区二区4080| 国产精品福利在线播放| 不卡一区二区三区四区| 国产欧美日韩在线| 福利电影一区二区三区| 精品国产亚洲在线| 精品一区二区三区影院在线午夜 | 亚洲品质自拍视频| 91麻豆.com| 一区二区三区av电影| 欧洲国内综合视频| 一区二区三区精品久久久| 色婷婷综合久色| 亚洲午夜激情网页| 欧美日韩一区二区在线观看| 亚洲成人第一页| 日韩丝袜美女视频| 国产成人av影院| 中文字幕在线观看不卡视频| aaa欧美大片| 亚洲男人的天堂一区二区| 在线区一区二视频| 丝袜诱惑制服诱惑色一区在线观看| 欧美精品乱码久久久久久| 人人爽香蕉精品| 久久久精品中文字幕麻豆发布| www.在线欧美| 一区二区视频在线看| 欧美卡1卡2卡| 国产乱子轮精品视频| 中文字幕亚洲综合久久菠萝蜜| 欧洲av一区二区嗯嗯嗯啊| 热久久国产精品| 国产亚洲欧美一级| 日本精品免费观看高清观看| 亚洲国产视频一区| 久久综合狠狠综合久久综合88| 99精品视频在线播放观看| 亚洲第四色夜色| 久久久久高清精品| 在线免费观看视频一区| 久国产精品韩国三级视频| 亚洲欧美怡红院| 制服丝袜成人动漫| 8x福利精品第一导航| 国产盗摄女厕一区二区三区| 亚洲高清不卡在线| 久久久久久久国产精品影院| 欧美综合欧美视频| 国产91精品露脸国语对白| 亚洲高清免费观看高清完整版在线观看 | 成人高清视频免费观看| 亚洲午夜久久久久久久久电影网 | 亚洲国产成人av网| 国产欧美视频一区二区| 欧美一区二区高清| 色综合天天视频在线观看 | 国产精品理伦片| 日韩精品一区二区三区视频播放| 一本久久综合亚洲鲁鲁五月天| 美女一区二区三区在线观看| 一区二区三区在线免费视频| 久久精品水蜜桃av综合天堂| 正在播放一区二区| 欧美专区在线观看一区| 高潮精品一区videoshd| 韩国在线一区二区| 午夜欧美在线一二页| 亚洲天堂福利av| 国产日韩精品一区| 26uuu国产日韩综合| 欧美放荡的少妇| 在线国产亚洲欧美| 91丨九色丨蝌蚪丨老版| 丁香婷婷综合激情五月色| 国产又粗又猛又爽又黄91精品| 日韩国产高清在线| 日韩在线卡一卡二| 日韩精品乱码免费| 天天av天天翘天天综合网| 亚洲一区二区三区影院| 一区二区三区成人| 亚洲第一久久影院| 亚洲高清视频的网址| 亚洲成人动漫精品| 日韩国产在线一| 日韩成人精品在线观看| 日本视频中文字幕一区二区三区| 午夜精品久久久久久久| 三级欧美在线一区| 日韩**一区毛片| 精品一区二区三区日韩| 韩国三级中文字幕hd久久精品| 极品美女销魂一区二区三区免费 | 亚洲天堂精品在线观看| 一区二区三区四区在线播放 | 9191精品国产综合久久久久久| 欧美浪妇xxxx高跟鞋交| 日韩一级片在线观看| 精品国产污污免费网站入口 | 久久久久久**毛片大全| 欧美国产97人人爽人人喊| 国产精品国产三级国产aⅴ中文 | 欧美精品乱人伦久久久久久| 欧美一区日韩一区| 国产午夜一区二区三区| 亚洲另类春色国产| 五月天一区二区三区| 久久成人av少妇免费| 丁香婷婷综合网| 欧美中文字幕不卡| 精品精品国产高清一毛片一天堂| 久久精品人人爽人人爽| 亚洲精选免费视频| 美国av一区二区| 国产酒店精品激情| 色综合久久天天| 欧美一区二区视频在线观看2020| 精品国产制服丝袜高跟| 一区二区三区日韩在线观看| 日韩精彩视频在线观看| 成人午夜在线视频| 欧美午夜精品理论片a级按摩| 亚洲精品一区二区三区福利| 亚洲视频免费观看| 毛片一区二区三区| 一本大道久久a久久精二百| 日韩一区二区三区三四区视频在线观看| 国产日产精品1区| 日韩高清一级片| 色综合一个色综合|