?? css.java
字號(hào):
/* * @(#)CSS.java 1.59 06/02/24 * * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */package javax.swing.text.html;import java.awt.Color;import java.awt.Font;import java.awt.GraphicsEnvironment;import java.awt.Toolkit;import java.awt.HeadlessException;import java.io.*;import java.lang.reflect.Method;import java.net.URL;import java.net.MalformedURLException;import java.util.Enumeration;import java.util.Hashtable;import java.util.Vector;import java.util.Locale;import javax.swing.ImageIcon;import javax.swing.SizeRequirements;import javax.swing.text.*;/** * Defines a set of * <a href="http://www.w3.org/TR/REC-CSS1">CSS attributes</a> * as a typesafe enumeration. The HTML View implementations use * CSS attributes to determine how they will render. This also defines * methods to map between CSS/HTML/StyleConstants. Any shorthand * properties, such as font, are mapped to the intrinsic properties. * <p>The following describes the CSS properties that are suppored by the * rendering engine: * <ul><li>font-family * <li>font-style * <li>font-size (supports relative units) * <li>font-weight * <li>font * <li>color * <li>background-color (with the exception of transparent) * <li>background-image * <li>background-repeat * <li>background-position * <li>background * <li>background-repeat * <li>text-decoration (with the exception of blink and overline) * <li>vertical-align (only sup and super) * <li>text-align (justify is treated as center) * <li>margin-top * <li>margin-right * <li>margin-bottom * <li>margin-left * <li>margin * <li>padding-top * <li>padding-right * <li>padding-bottom * <li>padding-left * <li>border-style (only supports inset, outset and none) * <li>list-style-type * <li>list-style-position * </ul> * The following are modeled, but currently not rendered. * <ul><li>font-variant * <li>background-attachment (background always treated as scroll) * <li>word-spacing * <li>letter-spacing * <li>text-indent * <li>text-transform * <li>line-height * <li>border-top-width (this is used to indicate if a border should be used) * <li>border-right-width * <li>border-bottom-width * <li>border-left-width * <li>border-width * <li>border-top * <li>border-right * <li>border-bottom * <li>border-left * <li>border * <li>width * <li>height * <li>float * <li>clear * <li>display * <li>white-space * <li>list-style * </ul> * <p><b>Note: for the time being we do not fully support relative units, * unless noted, so that * p { margin-top: 10% } will be treated as if no margin-top was specified. * * @author Timothy Prinzing * @author Scott Violet * @version 1.59 02/24/06 * @see StyleSheet */public class CSS implements Serializable { /** * Definitions to be used as a key on AttributeSet's * that might hold CSS attributes. Since this is a * closed set (i.e. defined exactly by the specification), * it is final and cannot be extended. */ public static final class Attribute { private Attribute(String name, String defaultValue, boolean inherited) { this.name = name; this.defaultValue = defaultValue; this.inherited = inherited; } /** * The string representation of the attribute. This * should exactly match the string specified in the * CSS specification. */ public String toString() { return name; } /** * Fetch the default value for the attribute. * If there is no default value (such as for * composite attributes), null will be returned. */ public String getDefaultValue() { return defaultValue; } /** * Indicates if the attribute should be inherited * from the parent or not. */ public boolean isInherited() { return inherited; } private String name; private String defaultValue; private boolean inherited; public static final Attribute BACKGROUND = new Attribute("background", null, false); public static final Attribute BACKGROUND_ATTACHMENT = new Attribute("background-attachment", "scroll", false); public static final Attribute BACKGROUND_COLOR = new Attribute("background-color", "transparent", false); public static final Attribute BACKGROUND_IMAGE = new Attribute("background-image", "none", false); public static final Attribute BACKGROUND_POSITION = new Attribute("background-position", null, false); public static final Attribute BACKGROUND_REPEAT = new Attribute("background-repeat", "repeat", false); public static final Attribute BORDER = new Attribute("border", null, false); public static final Attribute BORDER_BOTTOM = new Attribute("border-bottom", null, false); public static final Attribute BORDER_BOTTOM_WIDTH = new Attribute("border-bottom-width", "medium", false); public static final Attribute BORDER_COLOR = new Attribute("border-color", "black", false); public static final Attribute BORDER_LEFT = new Attribute("border-left", null, false); public static final Attribute BORDER_LEFT_WIDTH = new Attribute("border-left-width", "medium", false); public static final Attribute BORDER_RIGHT = new Attribute("border-right", null, false); public static final Attribute BORDER_RIGHT_WIDTH = new Attribute("border-right-width", "medium", false); public static final Attribute BORDER_STYLE = new Attribute("border-style", "none", false); public static final Attribute BORDER_TOP = new Attribute("border-top", null, false); public static final Attribute BORDER_TOP_WIDTH = new Attribute("border-top-width", "medium", false); public static final Attribute BORDER_WIDTH = new Attribute("border-width", "medium", false); public static final Attribute CLEAR = new Attribute("clear", "none", false); public static final Attribute COLOR = new Attribute("color", "black", true); public static final Attribute DISPLAY = new Attribute("display", "block", false); public static final Attribute FLOAT = new Attribute("float", "none", false); public static final Attribute FONT = new Attribute("font", null, true); public static final Attribute FONT_FAMILY = new Attribute("font-family", null, true); public static final Attribute FONT_SIZE = new Attribute("font-size", "medium", true); public static final Attribute FONT_STYLE = new Attribute("font-style", "normal", true); public static final Attribute FONT_VARIANT = new Attribute("font-variant", "normal", true); public static final Attribute FONT_WEIGHT = new Attribute("font-weight", "normal", true); public static final Attribute HEIGHT = new Attribute("height", "auto", false); public static final Attribute LETTER_SPACING = new Attribute("letter-spacing", "normal", true); public static final Attribute LINE_HEIGHT = new Attribute("line-height", "normal", true); public static final Attribute LIST_STYLE = new Attribute("list-style", null, true); public static final Attribute LIST_STYLE_IMAGE = new Attribute("list-style-image", "none", true); public static final Attribute LIST_STYLE_POSITION = new Attribute("list-style-position", "outside", true); public static final Attribute LIST_STYLE_TYPE = new Attribute("list-style-type", "disc", true); public static final Attribute MARGIN = new Attribute("margin", null, false); public static final Attribute MARGIN_BOTTOM = new Attribute("margin-bottom", "0", false); public static final Attribute MARGIN_LEFT = new Attribute("margin-left", "0", false); public static final Attribute MARGIN_RIGHT = new Attribute("margin-right", "0", false); /* * made up css attributes to describe orientation depended * margins. used for <dir>, <menu>, <ul> etc. see * 5088268 for more details */ static final Attribute MARGIN_LEFT_LTR = new Attribute("margin-left-ltr", Integer.toString(Integer.MIN_VALUE), false); static final Attribute MARGIN_LEFT_RTL = new Attribute("margin-left-rtl", Integer.toString(Integer.MIN_VALUE), false); static final Attribute MARGIN_RIGHT_LTR = new Attribute("margin-right-ltr", Integer.toString(Integer.MIN_VALUE), false); static final Attribute MARGIN_RIGHT_RTL = new Attribute("margin-right-rtl", Integer.toString(Integer.MIN_VALUE), false); public static final Attribute MARGIN_TOP = new Attribute("margin-top", "0", false); public static final Attribute PADDING = new Attribute("padding", null, false); public static final Attribute PADDING_BOTTOM = new Attribute("padding-bottom", "0", false); public static final Attribute PADDING_LEFT = new Attribute("padding-left", "0", false); public static final Attribute PADDING_RIGHT = new Attribute("padding-right", "0", false); public static final Attribute PADDING_TOP = new Attribute("padding-top", "0", false); public static final Attribute TEXT_ALIGN = new Attribute("text-align", null, true); public static final Attribute TEXT_DECORATION = new Attribute("text-decoration", "none", true); public static final Attribute TEXT_INDENT = new Attribute("text-indent", "0", true); public static final Attribute TEXT_TRANSFORM = new Attribute("text-transform", "none", true); public static final Attribute VERTICAL_ALIGN = new Attribute("vertical-align", "baseline", false); public static final Attribute WORD_SPACING = new Attribute("word-spacing", "normal", true); public static final Attribute WHITE_SPACE = new Attribute("white-space", "normal", true); public static final Attribute WIDTH = new Attribute("width", "auto", false); /*public*/ static final Attribute BORDER_SPACING = new Attribute("border-spacing", "0", true); /*public*/ static final Attribute CAPTION_SIDE = new Attribute("caption-side", "left", true); // All possible CSS attribute keys. static final Attribute[] allAttributes = { BACKGROUND, BACKGROUND_ATTACHMENT, BACKGROUND_COLOR, BACKGROUND_IMAGE, BACKGROUND_POSITION, BACKGROUND_REPEAT, BORDER, BORDER_BOTTOM, BORDER_BOTTOM_WIDTH, BORDER_COLOR, BORDER_LEFT, BORDER_LEFT_WIDTH, BORDER_RIGHT, BORDER_RIGHT_WIDTH, BORDER_STYLE, BORDER_TOP, BORDER_TOP_WIDTH, BORDER_WIDTH, CLEAR, COLOR, DISPLAY, FLOAT, FONT, FONT_FAMILY, FONT_SIZE, FONT_STYLE, FONT_VARIANT, FONT_WEIGHT, HEIGHT, LETTER_SPACING, LINE_HEIGHT, LIST_STYLE, LIST_STYLE_IMAGE, LIST_STYLE_POSITION, LIST_STYLE_TYPE, MARGIN, MARGIN_BOTTOM, MARGIN_LEFT, MARGIN_RIGHT, MARGIN_TOP, PADDING, PADDING_BOTTOM, PADDING_LEFT, PADDING_RIGHT, PADDING_TOP, TEXT_ALIGN, TEXT_DECORATION, TEXT_INDENT, TEXT_TRANSFORM, VERTICAL_ALIGN, WORD_SPACING, WHITE_SPACE, WIDTH, BORDER_SPACING, CAPTION_SIDE, MARGIN_LEFT_LTR, MARGIN_LEFT_RTL, MARGIN_RIGHT_LTR, MARGIN_RIGHT_RTL }; private static final Attribute[] ALL_MARGINS = { MARGIN_TOP, MARGIN_RIGHT, MARGIN_BOTTOM, MARGIN_LEFT }; private static final Attribute[] ALL_PADDING = { PADDING_TOP, PADDING_RIGHT, PADDING_BOTTOM, PADDING_LEFT }; private static final Attribute[] ALL_BORDER_WIDTHS = { BORDER_TOP_WIDTH, BORDER_RIGHT_WIDTH, BORDER_BOTTOM_WIDTH, BORDER_LEFT_WIDTH }; } static final class Value { private Value(String name) { this.name = name; } /** * The string representation of the attribute. This * should exactly match the string specified in the * CSS specification. */ public String toString() { return name; } static final Value INHERITED = new Value("inherited"); static final Value NONE = new Value("none"); static final Value DOTTED = new Value("dotted"); static final Value DASHED = new Value("dashed"); static final Value SOLID = new Value("solid"); static final Value DOUBLE = new Value("double"); static final Value GROOVE = new Value("groove"); static final Value RIDGE = new Value("ridge"); static final Value INSET = new Value("inset"); static final Value OUTSET = new Value("outset"); // Lists. static final Value BLANK_LIST_ITEM = new Value("none"); static final Value DISC = new Value("disc"); static final Value CIRCLE = new Value("circle"); static final Value SQUARE = new Value("square"); static final Value DECIMAL = new Value("decimal"); static final Value LOWER_ROMAN = new Value("lower-roman"); static final Value UPPER_ROMAN = new Value("upper-roman"); static final Value LOWER_ALPHA = new Value("lower-alpha"); static final Value UPPER_ALPHA = new Value("upper-alpha"); // background-repeat static final Value BACKGROUND_NO_REPEAT = new Value("no-repeat"); static final Value BACKGROUND_REPEAT = new Value("repeat"); static final Value BACKGROUND_REPEAT_X = new Value("repeat-x"); static final Value BACKGROUND_REPEAT_Y = new Value("repeat-y"); // background-attachment static final Value BACKGROUND_SCROLL = new Value("scroll"); static final Value BACKGROUND_FIXED = new Value("fixed"); private String name;
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -