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

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

?? css.java

?? JAVA的一些源碼 JAVA2 STANDARD EDITION DEVELOPMENT KIT 5.0
?? JAVA
?? 第 1 頁 / 共 5 頁
字號:
	static final Value[] allValues = {	    INHERITED, NONE, DOTTED, DASHED, SOLID, DOUBLE, GROOVE,	    RIDGE, INSET, OUTSET, DISC, CIRCLE, SQUARE, DECIMAL,	    LOWER_ROMAN, UPPER_ROMAN, LOWER_ALPHA, UPPER_ALPHA,	    BLANK_LIST_ITEM, BACKGROUND_NO_REPEAT, BACKGROUND_REPEAT,	    BACKGROUND_REPEAT_X, BACKGROUND_REPEAT_Y,	    BACKGROUND_FIXED, BACKGROUND_FIXED	};    }    public CSS() {	baseFontSize = baseFontSizeIndex + 1;	// setup the css conversion table	valueConvertor = new Hashtable();	valueConvertor.put(CSS.Attribute.FONT_SIZE, new FontSize());	valueConvertor.put(CSS.Attribute.FONT_FAMILY, new FontFamily());	valueConvertor.put(CSS.Attribute.FONT_WEIGHT, new FontWeight());	valueConvertor.put(CSS.Attribute.BORDER_STYLE, new BorderStyle());	Object cv = new ColorValue();	valueConvertor.put(CSS.Attribute.COLOR, cv);	valueConvertor.put(CSS.Attribute.BACKGROUND_COLOR, cv);	valueConvertor.put(CSS.Attribute.BORDER_COLOR, cv);	Object lv = new LengthValue();	valueConvertor.put(CSS.Attribute.MARGIN_TOP, lv);	valueConvertor.put(CSS.Attribute.MARGIN_BOTTOM, lv);	valueConvertor.put(CSS.Attribute.MARGIN_LEFT, lv);        valueConvertor.put(CSS.Attribute.MARGIN_LEFT_LTR, lv);        valueConvertor.put(CSS.Attribute.MARGIN_LEFT_RTL, lv);	valueConvertor.put(CSS.Attribute.MARGIN_RIGHT, lv);        valueConvertor.put(CSS.Attribute.MARGIN_RIGHT_LTR, lv);        valueConvertor.put(CSS.Attribute.MARGIN_RIGHT_RTL, lv);	valueConvertor.put(CSS.Attribute.PADDING_TOP, lv);	valueConvertor.put(CSS.Attribute.PADDING_BOTTOM, lv);	valueConvertor.put(CSS.Attribute.PADDING_LEFT, lv);	valueConvertor.put(CSS.Attribute.PADDING_RIGHT, lv);	Object bv = new BorderWidthValue(null, 0);	valueConvertor.put(CSS.Attribute.BORDER_WIDTH, lv);	valueConvertor.put(CSS.Attribute.BORDER_TOP_WIDTH, bv);	valueConvertor.put(CSS.Attribute.BORDER_BOTTOM_WIDTH, bv);	valueConvertor.put(CSS.Attribute.BORDER_LEFT_WIDTH, bv);	valueConvertor.put(CSS.Attribute.BORDER_RIGHT_WIDTH, bv);	Object nlv = new LengthValue(true);	valueConvertor.put(CSS.Attribute.TEXT_INDENT, nlv);	valueConvertor.put(CSS.Attribute.WIDTH, lv);	valueConvertor.put(CSS.Attribute.HEIGHT, lv);	valueConvertor.put(CSS.Attribute.BORDER_SPACING, lv);	Object sv = new StringValue();	valueConvertor.put(CSS.Attribute.FONT_STYLE, sv);	valueConvertor.put(CSS.Attribute.TEXT_DECORATION, sv);	valueConvertor.put(CSS.Attribute.TEXT_ALIGN, sv);	valueConvertor.put(CSS.Attribute.VERTICAL_ALIGN, sv);	Object valueMapper = new CssValueMapper();	valueConvertor.put(CSS.Attribute.LIST_STYLE_TYPE,			   valueMapper);	valueConvertor.put(CSS.Attribute.BACKGROUND_IMAGE,			   new BackgroundImage());	valueConvertor.put(CSS.Attribute.BACKGROUND_POSITION,			   new BackgroundPosition());	valueConvertor.put(CSS.Attribute.BACKGROUND_REPEAT,			   valueMapper);	valueConvertor.put(CSS.Attribute.BACKGROUND_ATTACHMENT,			   valueMapper);	Object generic = new CssValue();	int n = CSS.Attribute.allAttributes.length;	for (int i = 0; i < n; i++) {	    CSS.Attribute key = CSS.Attribute.allAttributes[i];	    if (valueConvertor.get(key) == null) {		valueConvertor.put(key, generic);	    }	}    }    /**     * Sets the base font size. <code>sz</code> is a CSS value, and is     * not necessarily the point size. Use getPointSize to determine the     * point size corresponding to <code>sz</code>.     */    void setBaseFontSize(int sz) {	if (sz < 1)	  baseFontSize = 0;	else if (sz > 7)	  baseFontSize = 7;	else	  baseFontSize = sz;    }    /**     * Sets the base font size from the passed in string.     */    void setBaseFontSize(String size) {	int relSize, absSize, diff;	if (size != null) {	    if (size.startsWith("+")) {		relSize = Integer.valueOf(size.substring(1)).intValue();		setBaseFontSize(baseFontSize + relSize);	    } else if (size.startsWith("-")) {		relSize = -Integer.valueOf(size.substring(1)).intValue();		setBaseFontSize(baseFontSize + relSize);	    } else {		setBaseFontSize(Integer.valueOf(size).intValue());	    }	}    }    /**     * Returns the base font size.     */    int getBaseFontSize() {	return baseFontSize;    }    /**     * Parses the CSS property <code>key</code> with value     * <code>value</code> placing the result in <code>att</code>.     */    void addInternalCSSValue(MutableAttributeSet attr,			     CSS.Attribute key, String value) {	if (key == CSS.Attribute.FONT) {	    ShorthandFontParser.parseShorthandFont(this, value, attr);	}	else if (key == CSS.Attribute.BACKGROUND) {	    ShorthandBackgroundParser.parseShorthandBackground		               (this, value, attr);	}	else if (key == CSS.Attribute.MARGIN) {	    ShorthandMarginParser.parseShorthandMargin(this, value, attr,					   CSS.Attribute.ALL_MARGINS);	}	else if (key == CSS.Attribute.PADDING) {	    ShorthandMarginParser.parseShorthandMargin(this, value, attr,					   CSS.Attribute.ALL_PADDING);	}	else if (key == CSS.Attribute.BORDER_WIDTH) {	    ShorthandMarginParser.parseShorthandMargin(this, value, attr,					   CSS.Attribute.ALL_BORDER_WIDTHS);	}	else {	    Object iValue = getInternalCSSValue(key, value);	    if (iValue != null) {		attr.addAttribute(key, iValue);	    }	}    }    /**     * Gets the internal CSS representation of <code>value</code> which is     * a CSS value of the CSS attribute named <code>key</code>. The receiver     * should not modify <code>value</code>, and the first <code>count</code>     * strings are valid.     */    Object getInternalCSSValue(CSS.Attribute key, String value) {	CssValue conv = (CssValue) valueConvertor.get(key);        Object r = conv.parseCssValue(value);        return r != null ? r : conv.parseCssValue(key.getDefaultValue());    }    /**     * Maps from a StyleConstants to a CSS Attribute.     */    Attribute styleConstantsKeyToCSSKey(StyleConstants sc) {	return (Attribute)styleConstantToCssMap.get(sc);    }    /**     * Maps from a StyleConstants value to a CSS value.     */    Object styleConstantsValueToCSSValue(StyleConstants sc,					 Object styleValue) {	Object cssKey = styleConstantsKeyToCSSKey(sc);	if (cssKey != null) {	    CssValue conv = (CssValue)valueConvertor.get(cssKey);	    return conv.fromStyleConstants(sc, styleValue);	}	return null;    }    /**     * Converts the passed in CSS value to a StyleConstants value.     * <code>key</code> identifies the CSS attribute being mapped.     */    Object cssValueToStyleConstantsValue(StyleConstants key, Object value) {	if (value instanceof CssValue) {	    return ((CssValue)value).toStyleConstants((StyleConstants)key,						      null);	}	return null;    }    /**     * Returns the font for the values in the passed in AttributeSet.     * It is assumed the keys will be CSS.Attribute keys.     * <code>sc</code> is the StyleContext that will be messaged to get     * the font once the size, name and style have been determined.     */    Font getFont(StyleContext sc, AttributeSet a, int defaultSize, StyleSheet ss) {        ss = getStyleSheet(ss);	int size = getFontSize(a, defaultSize, ss);	/*	 * If the vertical alignment is set to either superscirpt or	 * subscript we reduce the font size by 2 points.	 */	StringValue vAlignV = (StringValue)a.getAttribute	                      (CSS.Attribute.VERTICAL_ALIGN);	if ((vAlignV != null)) {	    String vAlign = vAlignV.toString();	    if ((vAlign.indexOf("sup") >= 0) ||		(vAlign.indexOf("sub") >= 0)) {		size -= 2;	    }	}		FontFamily familyValue = (FontFamily)a.getAttribute	                                    (CSS.Attribute.FONT_FAMILY);	String family = (familyValue != null) ? familyValue.getValue() :	                          "SansSerif";	int style = Font.PLAIN;	FontWeight weightValue = (FontWeight) a.getAttribute	                          (CSS.Attribute.FONT_WEIGHT);	if ((weightValue != null) && (weightValue.getValue() > 400)) {	    style |= Font.BOLD;	}	Object fs = a.getAttribute(CSS.Attribute.FONT_STYLE);	if ((fs != null) && (fs.toString().indexOf("italic") >= 0)) {	    style |= Font.ITALIC;	}        if (family.equalsIgnoreCase("monospace")) {            family = "Monospaced";        }	Font f = sc.getFont(family, style, size);        if (f == null             || (f.getFamily().equals("Dialog")                && ! family.equalsIgnoreCase("Dialog"))) {            family = "SansSerif";            f = sc.getFont(family, style, size);        }	return f;    }    static int getFontSize(AttributeSet attr, int defaultSize, StyleSheet ss) {	// PENDING(prinz) this is a 1.1 based implementation, need to also	// have a 1.2 version.	FontSize sizeValue = (FontSize)attr.getAttribute(CSS.Attribute.							 FONT_SIZE);	return (sizeValue != null) ? (int)sizeValue.getValue(attr, ss) :	                             defaultSize;    }    /**     * Takes a set of attributes and turn it into a color     * specification.  This might be used to specify things     * like brighter, more hue, etc.     * This will return null if there is no value for <code>key</code>.     *     * @param key CSS.Attribute identifying where color is stored.     * @param a the set of attributes     * @return the color     */    Color getColor(AttributeSet a, CSS.Attribute key) {	ColorValue cv = (ColorValue) a.getAttribute(key);	if (cv != null) {	    return cv.getValue();	}	return null;    }    /**     * Returns the size of a font from the passed in string.     *     * @param size CSS string describing font size     * @param baseFontSize size to use for relative units.     */    float getPointSize(String size, StyleSheet ss) {	int relSize, absSize, diff, index;        ss = getStyleSheet(ss);	if (size != null) {	    if (size.startsWith("+")) {		relSize = Integer.valueOf(size.substring(1)).intValue();		return getPointSize(baseFontSize + relSize, ss);	    } else if (size.startsWith("-")) {		relSize = -Integer.valueOf(size.substring(1)).intValue();		return getPointSize(baseFontSize + relSize, ss);	    } else {		absSize = Integer.valueOf(size).intValue();		return getPointSize(absSize, ss);	    }	}	return 0;    }    /**     * Returns the length of the attribute in <code>a</code> with     * key <code>key</code>.     */    float getLength(AttributeSet a, CSS.Attribute key, StyleSheet ss) {        ss = getStyleSheet(ss);	LengthValue lv = (LengthValue) a.getAttribute(key);        boolean isW3CLengthUnits = (ss == null) ? false : ss.isW3CLengthUnits();        float len = (lv != null) ? lv.getValue(isW3CLengthUnits) : 0;	return len;    }    /**     * Convert a set of HTML attributes to an equivalent     * set of CSS attributes.     *     * @param AttributeSet containing the HTML attributes.     * @return AttributeSet containing the corresponding CSS attributes.     *        The AttributeSet will be empty if there are no mapping     *        CSS attributes.     */    AttributeSet translateHTMLToCSS(AttributeSet htmlAttrSet) {	MutableAttributeSet cssAttrSet = new SimpleAttributeSet();	Element elem = (Element)htmlAttrSet;	HTML.Tag tag = getHTMLTag(htmlAttrSet);	if ((tag == HTML.Tag.TD) || (tag == HTML.Tag.TH)) {	    // translate border width into the cells	    AttributeSet tableAttr = elem.getParentElement().		                     getParentElement().getAttributes();	    translateAttribute(HTML.Attribute.BORDER, tableAttr, cssAttrSet);	    String pad = (String)tableAttr.getAttribute(HTML.Attribute.CELLPADDING);	    if (pad != null) {		LengthValue v = 		    (LengthValue)getInternalCSSValue(CSS.Attribute.PADDING_TOP, pad);		v.span = (v.span < 0) ? 0 : v.span;		cssAttrSet.addAttribute(CSS.Attribute.PADDING_TOP, v);		cssAttrSet.addAttribute(CSS.Attribute.PADDING_BOTTOM, v);		cssAttrSet.addAttribute(CSS.Attribute.PADDING_LEFT, v);		cssAttrSet.addAttribute(CSS.Attribute.PADDING_RIGHT, v);	    }	}	if (elem.isLeaf()) {	    translateEmbeddedAttributes(htmlAttrSet, cssAttrSet);	} else {	    translateAttributes(tag, htmlAttrSet, cssAttrSet);	}	if (tag == HTML.Tag.CAPTION) {	    /* 	     * Navigator uses ALIGN for caption placement and IE uses VALIGN.	     */	    Object v = htmlAttrSet.getAttribute(HTML.Attribute.ALIGN);	    if ((v != null) && (v.equals("top") || v.equals("bottom"))) {		cssAttrSet.addAttribute(CSS.Attribute.CAPTION_SIDE, v);		cssAttrSet.removeAttribute(CSS.Attribute.TEXT_ALIGN);	    } else {		v = htmlAttrSet.getAttribute(HTML.Attribute.VALIGN);		if (v != null) {		    cssAttrSet.addAttribute(CSS.Attribute.CAPTION_SIDE, v);		}	    }	}	return cssAttrSet;    }    private static final Hashtable attributeMap = new Hashtable();    private static final Hashtable valueMap = new Hashtable();    /**     * The hashtable and the static initalization block below,     * set up a mapping from well-known HTML attributes to     * CSS attributes.  For the most part, there is a 1-1 mapping     * between the two.  However in the case of certain HTML     * attributes for example HTML.Attribute.VSPACE or     * HTML.Attribute.HSPACE, end up mapping to two CSS.Attribute's.     * Therefore, the value associated with each HTML.Attribute.     * key ends up being an array of CSS.Attribute.* objects.     */    private static final Hashtable htmlAttrToCssAttrMap = new Hashtable(20);    /**     * The hashtable and static initialization that follows sets     * up a translation from StyleConstants (i.e. the <em>well known</em>     * attributes) to the associated CSS attributes.     */    private static final Hashtable styleConstantToCssMap = new Hashtable(17);    /** Maps from HTML value to a CSS value. Used in internal mapping. */    private static final Hashtable htmlValueToCssValueMap = new Hashtable(8);    /** Maps from CSS value (string) to internal value. */    private static final Hashtable cssValueToInternalValueMap = new Hashtable(13);    static {	// load the attribute map	for (int i = 0; i < Attribute.allAttributes.length; i++ ) {	    attributeMap.put(Attribute.allAttributes[i].toString(),			     Attribute.allAttributes[i]);	}	// load the value map	for (int i = 0; i < Value.allValues.length; i++ ) {	    valueMap.put(Value.allValues[i].toString(), 			     Value.allValues[i]);	}	htmlAttrToCssAttrMap.put(HTML.Attribute.COLOR,				 new CSS.Attribute[]{CSS.Attribute.COLOR});	htmlAttrToCssAttrMap.put(HTML.Attribute.TEXT,				 new CSS.Attribute[]{CSS.Attribute.COLOR});	htmlAttrToCssAttrMap.put(HTML.Attribute.CLEAR,				 new CSS.Attribute[]{CSS.Attribute.CLEAR});	htmlAttrToCssAttrMap.put(HTML.Attribute.BACKGROUND,				 new CSS.Attribute[]{CSS.Attribute.BACKGROUND_IMAGE});	htmlAttrToCssAttrMap.put(HTML.Attribute.BGCOLOR,

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99精品欧美一区二区蜜桃免费 | 91 com成人网| 99精品久久99久久久久| 成人午夜又粗又硬又大| 国产麻豆成人精品| 成人激情综合网站| 91丨九色porny丨蝌蚪| 色婷婷av一区| 日韩欧美你懂的| 国产日韩v精品一区二区| 国产精品天干天干在线综合| 中文字幕免费观看一区| 一区二区三区在线看| 婷婷综合久久一区二区三区| 日本女优在线视频一区二区| 国产综合色在线| 色婷婷亚洲精品| 欧美一区二区女人| 国产农村妇女精品| 亚洲福利视频一区| 国产高清不卡一区二区| 色网综合在线观看| 欧美videos大乳护士334| 中文字幕在线观看不卡视频| 亚洲免费观看高清| 奇米一区二区三区| k8久久久一区二区三区| 欧美色网一区二区| 久久久精品tv| 一区二区三区在线影院| 国产综合成人久久大片91| 91在线观看一区二区| 欧美一二三在线| 国产精品白丝在线| 免费在线看一区| 色88888久久久久久影院野外| 69久久夜色精品国产69蝌蚪网| 亚洲国产精品精华液2区45| 亚洲一二三四在线| 成人一区在线看| 91精品国产综合久久香蕉的特点 | 中文字幕一区在线观看| 免费观看久久久4p| 欧洲激情一区二区| 日韩美女久久久| 国产一区二区三区久久久| 欧美系列在线观看| 亚洲裸体在线观看| 国产成人在线看| 精品免费一区二区三区| 亚洲国产成人tv| 色综合天天在线| 欧美激情资源网| 国产一区二区三区精品欧美日韩一区二区三区 | 在线观看日韩av先锋影音电影院| 日韩欧美一区二区三区在线| 亚洲综合男人的天堂| 99热这里都是精品| 国产精品网站在线观看| 国产精品一区久久久久| 日韩一级视频免费观看在线| 亚洲最新在线观看| 一本到高清视频免费精品| 亚洲视频一区在线| av一区二区三区黑人| 国产精品美女久久久久av爽李琼| 国产一区二区三区| 久久久久久**毛片大全| 国产在线一区二区| 精品国精品国产尤物美女| 蜜桃在线一区二区三区| 3751色影院一区二区三区| 日本在线播放一区二区三区| 7777精品伊人久久久大香线蕉最新版 | 一级中文字幕一区二区| 91视频com| 亚洲一区成人在线| 欧美一级专区免费大片| 美洲天堂一区二卡三卡四卡视频| 欧美老肥妇做.爰bbww视频| 香蕉影视欧美成人| 欧美日韩精品一区二区三区| 午夜激情综合网| 日韩一区和二区| 国产精华液一区二区三区| 国产日产欧产精品推荐色| 丰满岳乱妇一区二区三区| 亚洲天天做日日做天天谢日日欢| 色噜噜狠狠一区二区三区果冻| 亚洲精品国久久99热| 欧美日韩国产综合草草| 麻豆成人综合网| 日本一区二区视频在线观看| 色又黄又爽网站www久久| 亚洲电影一级黄| 久久婷婷综合激情| 91免费观看视频在线| 日韩专区中文字幕一区二区| 精品sm捆绑视频| 色偷偷一区二区三区| 欧美aaaaaa午夜精品| 日本一区二区三级电影在线观看 | 亚洲高清不卡在线| 精品福利av导航| 在线欧美日韩精品| 寂寞少妇一区二区三区| 一区二区三区在线免费观看| 2021中文字幕一区亚洲| 色94色欧美sute亚洲线路二| 裸体在线国模精品偷拍| 亚洲欧美日韩系列| 精品国产髙清在线看国产毛片 | 日韩电影在线观看电影| 国产欧美综合在线观看第十页| 欧美唯美清纯偷拍| 成人综合在线网站| 午夜欧美在线一二页| 日本一区二区成人| 欧美成人伊人久久综合网| 91原创在线视频| 成人中文字幕电影| 久久国产视频网| 香蕉乱码成人久久天堂爱免费| 国产精品久久看| 久久夜色精品一区| 欧美一区二区三区婷婷月色| av电影天堂一区二区在线观看| 麻豆精品国产91久久久久久| 亚洲激情五月婷婷| 日韩一区日韩二区| 国产精品嫩草影院com| 日韩精品一区二区三区四区| 欧美日韩免费不卡视频一区二区三区 | 国产aⅴ精品一区二区三区色成熟| 亚洲国产精品一区二区www| 中文字幕一区二区不卡| 久久久久久久综合日本| 欧美大白屁股肥臀xxxxxx| 欧美日韩精品一区二区在线播放| 一本到不卡免费一区二区| 成人av网站在线观看| 国产成人免费在线| 国产一区二区三区四区在线观看 | 成人精品一区二区三区四区 | 91丝袜高跟美女视频| 波多野结衣91| 成人精品gif动图一区| www.欧美日韩国产在线| av不卡一区二区三区| 不卡一区二区在线| 色综合天天综合在线视频| 91免费观看视频在线| 91首页免费视频| 日本高清无吗v一区| 91在线观看高清| 在线观看免费视频综合| 欧美日韩不卡视频| 91精品综合久久久久久| 欧美大胆人体bbbb| 国产调教视频一区| 国产精品你懂的| 一区二区三区欧美亚洲| 亚洲成人在线网站| 麻豆精品新av中文字幕| 国产另类ts人妖一区二区| 成人不卡免费av| 色欧美乱欧美15图片| 欧美区视频在线观看| 欧美精品一区二区不卡| 国产色产综合产在线视频| 亚洲视频在线一区二区| 亚洲国产日韩综合久久精品| 麻豆国产欧美一区二区三区| 岛国精品一区二区| 日本伦理一区二区| 精品国产91久久久久久久妲己| 欧美激情一区二区三区全黄| 曰韩精品一区二区| 精久久久久久久久久久| 91免费看视频| 日韩美女一区二区三区四区| 久久精品视频网| 午夜精品久久久久久久久久久| 美国精品在线观看| 色综合久久中文字幕| 欧美成人三级电影在线| 国产精品麻豆欧美日韩ww| 五月天中文字幕一区二区| 国产成人精品一区二| 欧美美女一区二区在线观看| 亚洲国产高清在线观看视频| 亚洲成a人片在线不卡一二三区| 国内久久精品视频| 欧美裸体bbwbbwbbw| 中文字幕欧美国产| 麻豆成人91精品二区三区| 色婷婷亚洲精品| 国产精品视频一区二区三区不卡| 手机精品视频在线观看| 91丨九色丨黑人外教|