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

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

?? muxingattributeset.java

?? JAVA的一些源碼 JAVA2 STANDARD EDITION DEVELOPMENT KIT 5.0
?? JAVA
字號:
/* * @(#)MuxingAttributeSet.java	1.4 03/12/19 * * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */package javax.swing.text.html;import javax.swing.text.*;import java.io.Serializable;import java.util.*;/** * An implementation of <code>AttributeSet</code> that can multiplex * across a set of <code>AttributeSet</code>s. * * @version 1.4 12/19/03 */class MuxingAttributeSet implements AttributeSet, Serializable {    /**     * Creates a <code>MuxingAttributeSet</code> with the passed in     * attributes.     */    public MuxingAttributeSet(AttributeSet[] attrs) {        this.attrs = attrs;    }    /**     * Creates an empty <code>MuxingAttributeSet</code>. This is intended for     * use by subclasses only, and it is also intended that subclasses will     * set the constituent <code>AttributeSet</code>s before invoking any     * of the <code>AttributeSet</code> methods.     */    protected MuxingAttributeSet() {    }    /**     * Directly sets the <code>AttributeSet</code>s that comprise this     * <code>MuxingAttributeSet</code>.     */    protected synchronized void setAttributes(AttributeSet[] attrs) {        this.attrs = attrs;    }    /**     * Returns the <code>AttributeSet</code>s multiplexing too. When the     * <code>AttributeSet</code>s need to be referenced, this should be called.     */    protected synchronized AttributeSet[] getAttributes() {        return attrs;    }    /**     * Inserts <code>as</code> at <code>index</code>. This assumes     * the value of <code>index</code> is between 0 and attrs.length,     * inclusive.     */    protected synchronized void insertAttributeSetAt(AttributeSet as,                                                     int index) {        int numAttrs = attrs.length;        AttributeSet newAttrs[] = new AttributeSet[numAttrs + 1];        if (index < numAttrs) {            if (index > 0) {                System.arraycopy(attrs, 0, newAttrs, 0, index);                System.arraycopy(attrs, index, newAttrs, index + 1,                                 numAttrs - index);            }            else {                System.arraycopy(attrs, 0, newAttrs, 1, numAttrs);            }        }        else {            System.arraycopy(attrs, 0, newAttrs, 0, numAttrs);        }        newAttrs[index] = as;        attrs = newAttrs;    }    /**     * Removes the AttributeSet at <code>index</code>. This assumes     * the value of <code>index</code> is greater than or equal to 0,     * and less than attrs.length.     */    protected synchronized void removeAttributeSetAt(int index) {        int numAttrs = attrs.length;        AttributeSet[] newAttrs = new AttributeSet[numAttrs - 1];        if (numAttrs > 0) {            if (index == 0) {                // FIRST                System.arraycopy(attrs, 1, newAttrs, 0, numAttrs - 1);            }            else if (index < (numAttrs - 1)) {                // MIDDLE                System.arraycopy(attrs, 0, newAttrs, 0, index);                System.arraycopy(attrs, index + 1, newAttrs, index,                                 numAttrs - index - 1);            }            else {                // END                System.arraycopy(attrs, 0, newAttrs, 0, numAttrs - 1);            }        }        attrs = newAttrs;    }    //  --- AttributeSet methods ----------------------------    /**     * Gets the number of attributes that are defined.     *     * @return the number of attributes     * @see AttributeSet#getAttributeCount     */    public int getAttributeCount() {        AttributeSet[] as = getAttributes();        int n = 0;        for (int i = 0; i < as.length; i++) {            n += as[i].getAttributeCount();        }        return n;    }    /**     * Checks whether a given attribute is defined.     * This will convert the key over to CSS if the     * key is a StyleConstants key that has a CSS     * mapping.     *     * @param key the attribute key     * @return true if the attribute is defined     * @see AttributeSet#isDefined     */    public boolean isDefined(Object key) {        AttributeSet[] as = getAttributes();        for (int i = 0; i < as.length; i++) {            if (as[i].isDefined(key)) {                return true;            }        }        return false;    }    /**     * Checks whether two attribute sets are equal.     *     * @param attr the attribute set to check against     * @return true if the same     * @see AttributeSet#isEqual     */    public boolean isEqual(AttributeSet attr) {        return ((getAttributeCount() == attr.getAttributeCount()) &&                containsAttributes(attr));    }    /**     * Copies a set of attributes.     *     * @return the copy     * @see AttributeSet#copyAttributes     */    public AttributeSet copyAttributes() {        AttributeSet[] as = getAttributes();        MutableAttributeSet a = new SimpleAttributeSet();        int n = 0;        for (int i = as.length - 1; i >= 0; i--) {            a.addAttributes(as[i]);        }        return a;    }    /**     * Gets the value of an attribute.  If the requested     * attribute is a StyleConstants attribute that has     * a CSS mapping, the request will be converted.     *     * @param key the attribute name     * @return the attribute value     * @see AttributeSet#getAttribute     */    public Object getAttribute(Object key) {        AttributeSet[] as = getAttributes();        int n = as.length;        for (int i = 0; i < n; i++) {            Object o = as[i].getAttribute(key);            if (o != null) {                return o;            }        }        return null;    }    /**     * Gets the names of all attributes.     *     * @return the attribute names     * @see AttributeSet#getAttributeNames     */    public Enumeration getAttributeNames() {        return new MuxingAttributeNameEnumeration();    }    /**     * Checks whether a given attribute name/value is defined.     *     * @param name the attribute name     * @param value the attribute value     * @return true if the name/value is defined     * @see AttributeSet#containsAttribute     */    public boolean containsAttribute(Object name, Object value) {        return value.equals(getAttribute(name));    }    /**     * Checks whether the attribute set contains all of     * the given attributes.     *     * @param attrs the attributes to check     * @return true if the element contains all the attributes     * @see AttributeSet#containsAttributes     */    public boolean containsAttributes(AttributeSet attrs) {        boolean result = true;        Enumeration names = attrs.getAttributeNames();        while (result && names.hasMoreElements()) {            Object name = names.nextElement();            result = attrs.getAttribute(name).equals(getAttribute(name));        }        return result;    }    /**     * Returns null, subclasses may wish to do something more     * intelligent with this.     */    public AttributeSet getResolveParent() {        return null;    }    /**     * The <code>AttributeSet</code>s that make up the resulting     * <code>AttributeSet</code>.     */    private AttributeSet[] attrs;    /**     * An Enumeration of the Attribute names in a MuxingAttributeSet.     * This may return the same name more than once.     */    private class MuxingAttributeNameEnumeration implements Enumeration {        MuxingAttributeNameEnumeration() {            updateEnum();        }        public boolean hasMoreElements() {            if (currentEnum == null) {                return false;            }            return currentEnum.hasMoreElements();        }        public Object nextElement() {            if (currentEnum == null) {                throw new NoSuchElementException("No more names");            }            Object retObject = currentEnum.nextElement();            if (!currentEnum.hasMoreElements()) {                updateEnum();            }            return retObject;        }        void updateEnum() {            AttributeSet[] as = getAttributes();            currentEnum = null;            while (currentEnum == null && attrIndex < as.length) {                currentEnum = as[attrIndex++].getAttributeNames();                if (!currentEnum.hasMoreElements()) {                    currentEnum = null;                }            }        }        /** Index into attrs the current Enumeration came from. */        private int attrIndex;        /** Enumeration from attrs. */        private Enumeration currentEnum;    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久蜜臀国产一区二区| 日本女优在线视频一区二区| 性做久久久久久免费观看| 久久成人免费电影| 一本色道综合亚洲| 欧美一区二区三区四区五区| 亚洲综合精品久久| 国产盗摄视频一区二区三区| 欧美另类久久久品| 亚洲免费伊人电影| 成人午夜av影视| 日韩欧美国产系列| 图片区小说区国产精品视频 | 久久久一区二区三区捆绑**| 亚洲大片精品永久免费| 972aa.com艺术欧美| 中文无字幕一区二区三区| 久久国产尿小便嘘嘘| 欧美一区二区三区在线视频| 亚洲综合成人网| 色婷婷激情久久| 中文字幕制服丝袜一区二区三区| 国产成人丝袜美腿| 国产午夜久久久久| 国产乱子伦视频一区二区三区| 91精选在线观看| 污片在线观看一区二区| 欧美精三区欧美精三区| 亚洲一区视频在线| 欧美视频在线一区二区三区| 亚洲伊人伊色伊影伊综合网| 欧美亚洲图片小说| 亚洲大片精品永久免费| 欧美精品1区2区3区| 日韩av网站在线观看| 日韩久久精品一区| 国产精品资源在线| 国产精品拍天天在线| 成人免费看视频| 一区二区中文字幕在线| 在线看国产一区二区| 午夜亚洲福利老司机| 69成人精品免费视频| 美女一区二区三区在线观看| 久久日韩粉嫩一区二区三区| 粉嫩绯色av一区二区在线观看| 国产精品久久毛片| 欧美日韩综合一区| 免费成人av资源网| 亚洲国产成人午夜在线一区| 97久久超碰国产精品| 亚洲午夜久久久久久久久久久| 9191成人精品久久| 国产精品自在欧美一区| 自拍偷拍亚洲激情| 91麻豆精品国产自产在线| 韩国女主播一区| 亚洲色图制服丝袜| 欧美一区二区三区四区视频| 粉嫩av一区二区三区在线播放| 亚洲在线观看免费视频| 日韩欧美亚洲一区二区| 99麻豆久久久国产精品免费优播| 天天免费综合色| 国产亚洲精品aa午夜观看| 色诱亚洲精品久久久久久| 免费高清在线一区| 亚洲精品中文字幕在线观看| 日韩欧美国产小视频| 97久久久精品综合88久久| 蜜臀精品一区二区三区在线观看| 国产精品国产三级国产aⅴ入口| 777久久久精品| 成人在线综合网| 日韩高清在线电影| 亚洲欧洲三级电影| 精品免费日韩av| 欧美日韩激情一区二区| 懂色av中文一区二区三区 | 91国产成人在线| 久久精品国产网站| 亚洲国产欧美在线| 中文字幕第一区二区| 337p亚洲精品色噜噜| av成人动漫在线观看| 久草在线在线精品观看| 亚洲v中文字幕| 亚洲欧美另类综合偷拍| 国产亚洲精品超碰| 精品国产sm最大网站免费看| 欧美影院一区二区| 一本大道av伊人久久综合| 国产91精品在线观看| 久久99国产精品成人| 日韩综合在线视频| 一区二区三区在线不卡| 最新中文字幕一区二区三区| 久久精品亚洲国产奇米99| 欧美日韩国产综合久久| 一本色道久久加勒比精品| 国产成人精品免费视频网站| 国产在线不卡视频| 精品一区二区av| 捆绑调教一区二区三区| 老司机免费视频一区二区三区| 亚洲成人av免费| 午夜天堂影视香蕉久久| 亚洲国产cao| 亚洲福利国产精品| 亚洲国产一区二区三区| 亚洲美女一区二区三区| 亚洲婷婷在线视频| 国产精品美女久久久久高潮| 久久久www成人免费无遮挡大片 | 欧美久久一区二区| 欧美日韩在线观看一区二区| 一本到高清视频免费精品| 91日韩在线专区| 色综合久久久久网| 欧美手机在线视频| 51精品秘密在线观看| 91精品综合久久久久久| 日韩欧美成人一区| 久久―日本道色综合久久| 久久久久久久久久久黄色| 日本一区二区三区久久久久久久久不| 国产午夜精品久久久久久免费视| 国产日韩精品一区二区三区在线| 欧美国产日韩精品免费观看| 亚洲国产精品v| 亚洲精品视频在线| 日韩主播视频在线| 久久精品二区亚洲w码| 国产成人精品影院| 色网综合在线观看| 日韩一级欧美一级| 国产亚洲欧美日韩日本| 综合久久久久久| 日产精品久久久久久久性色| 国产精品中文字幕日韩精品| 91污片在线观看| 日韩一区二区三区四区五区六区| 26uuu精品一区二区| 中文字幕亚洲在| 免费欧美日韩国产三级电影| 国模无码大尺度一区二区三区| 99精品久久久久久| 日韩视频一区在线观看| 国产精品毛片久久久久久| 国内成+人亚洲+欧美+综合在线| 国产成人av电影免费在线观看| 日本高清免费不卡视频| 欧美tk—视频vk| 亚洲老司机在线| 国产一区二区女| 欧洲精品一区二区| 久久久高清一区二区三区| 亚洲午夜视频在线| 福利电影一区二区| 欧美一级黄色片| 亚洲欧美日韩一区二区| 精品在线亚洲视频| 在线看日韩精品电影| 国产欧美一区视频| 亚洲小说春色综合另类电影| 成人性生交大片免费看中文网站| 欧美精品日韩一区| 亚洲人快播电影网| 国产乱子轮精品视频| 欧美日韩亚洲综合一区 | www国产亚洲精品久久麻豆| 亚洲综合免费观看高清在线观看| 国产成人综合在线观看| 91精品午夜视频| 一区二区不卡在线播放 | 欧美刺激脚交jootjob| 综合在线观看色| 国产宾馆实践打屁股91| 88在线观看91蜜桃国自产| 亚洲精品国产无套在线观 | 国产精品主播直播| 51久久夜色精品国产麻豆| 一区二区免费看| 色拍拍在线精品视频8848| 国产精品灌醉下药二区| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 91蜜桃在线观看| 中国av一区二区三区| 国产精品一区二区久激情瑜伽 | 精品在线视频一区| 日韩一卡二卡三卡四卡| 日本不卡的三区四区五区| 欧美人与禽zozo性伦| 亚洲福利国产精品| 欧美另类高清zo欧美| 日韩精品1区2区3区| 欧美一区二区三区喷汁尤物| 日韩成人精品视频| 日韩欧美国产成人一区二区| 麻豆成人免费电影|