⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 attributefigure.java

📁 JHotDraw学习过程中对数组的测试程序haha 学习过程中对数组的测试程序
💻 JAVA
字号:
/* * @(#)AttributeFigure.java 5.1 * */package CH.ifa.draw.figures;import CH.ifa.draw.util.*;import CH.ifa.draw.framework.*;import CH.ifa.draw.standard.*;import java.awt.*;import java.util.*;import java.io.*;/** * A figure that can keep track of an open ended set of attributes. * The attributes are stored in a dictionary implemented by * FigureAttributes. * * @see Figure * @see Handle * @see FigureAttributes */public abstract class AttributeFigure extends AbstractFigure {    /**     * The attributes of a figure. Each figure can have     * an open ended set of attributes. Attributes are     * identified by name.     * @see #getAttribute     * @see #setAttribute     */    private FigureAttributes        fAttributes;    /**     * The default attributes associated with a figure.     * If a figure doesn't have an attribute set, a default     * value from this shared attribute set is returned.     * @see #getAttribute     * @see #setAttribute     */    private static FigureAttributes fgDefaultAttributes = null;    /*     * Serialization support.     */    private static final long serialVersionUID = -10857585979273442L;    private int attributeFigureSerializedDataVersion = 1;    protected AttributeFigure() { }    /**     * Draws the figure in the given graphics. Draw is a template     * method calling drawBackground followed by drawFrame.     */    public void draw(Graphics g) {        Color fill = getFillColor();        if (!ColorMap.isTransparent(fill)) {            g.setColor(fill);            drawBackground(g);        }        Color frame = getFrameColor();        if (!ColorMap.isTransparent(frame)) {            g.setColor(frame);            drawFrame(g);        }    }    /**     * Draws the background of the figure.     * @see #draw     */    protected void drawBackground(Graphics g) {    }    /**     * Draws the frame of the figure.     * @see #draw     */    protected void drawFrame(Graphics g) {    }    /**     * Gets the fill color of a figure. This is a convenience     * method.     @see getAttribute     */    public Color getFillColor() {        return (Color) getAttribute("FillColor");    }    /**     * Gets the frame color of a figure. This is a convenience     * method.     @see getAttribute     */    public Color getFrameColor() {        return (Color) getAttribute("FrameColor");    }    //---- figure attributes ----------------------------------    private static void initializeAttributes() {        fgDefaultAttributes = new FigureAttributes();        fgDefaultAttributes.set("FrameColor", Color.black);        fgDefaultAttributes.set("FillColor",  new Color(0x70DB93));        fgDefaultAttributes.set("TextColor",  Color.black);        fgDefaultAttributes.set("ArrowMode",  new Integer(0));        fgDefaultAttributes.set("FontName",  "Helvetica");        fgDefaultAttributes.set("FontSize",   new Integer(12));        fgDefaultAttributes.set("FontStyle",  new Integer(Font.PLAIN));    }    /**     * Gets a the default value for a named attribute     * @see getAttribute     */    public static Object getDefaultAttribute(String name) {        if (fgDefaultAttributes == null)            initializeAttributes();        return fgDefaultAttributes.get(name);    }    /**     * Returns the named attribute or null if a     * a figure doesn't have an attribute.     * All figures support the attribute names     * FillColor and FrameColor     */    public Object getAttribute(String name) {        if (fAttributes != null) {            if (fAttributes.hasDefined(name))                return fAttributes.get(name);        }        return getDefaultAttribute(name);    }    /**     * Sets the named attribute to the new value     */    public void setAttribute(String name, Object value) {        if (fAttributes == null)            fAttributes = new FigureAttributes();        fAttributes.set(name, value);        changed();    }    /**     * Stores the Figure to a StorableOutput.     */    public void write(StorableOutput dw) {        super.write(dw);        if (fAttributes == null)            dw.writeString("no_attributes");        else {            dw.writeString("attributes");            fAttributes.write(dw);        }    }    /**     * Reads the Figure from a StorableInput.     */    public void read(StorableInput dr) throws IOException {        super.read(dr);        String s = dr.readString();        if (s.toLowerCase().equals("attributes")) {            fAttributes = new FigureAttributes();            fAttributes.read(dr);        }    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -