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

📄 swingbuilder.java

📁 大名鼎鼎的java动态脚本语言。已经通过了sun的认证
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
        registerFactory("tableModel", new Factory() {            public Object newInstance(Map properties) {                ValueModel model = (ValueModel) properties.remove("model");                if (model == null) {                    Object list = properties.remove("list");                    if (list == null) {                        list = new ArrayList();                    }                    model = new ValueHolder(list);                }                return new DefaultTableModel(model);            }        });        passThroughNodes.put("tableModel", javax.swing.table.TableModel.class);        registerFactory("propertyColumn", new Factory() {            public Object newInstance(Map properties) {                Object current = getCurrent();                if (current instanceof DefaultTableModel) {                    DefaultTableModel model = (DefaultTableModel) current;                    Object header = properties.remove("header");                    if (header == null) {                        header = "";                    }                    String property = (String) properties.remove("propertyName");                    if (property == null) {                        throw new IllegalArgumentException("Must specify a property for a propertyColumn");                    }                    Class type = (Class) properties.remove("type");                    if (type == null) {                        type = Object.class;                    }                    return model.addPropertyColumn(header, property, type);                }                else {                    throw new RuntimeException("propertyColumn must be a child of a tableModel");                }            }        });        registerFactory("closureColumn", new Factory() {            public Object newInstance(Map properties) {                Object current = getCurrent();                if (current instanceof DefaultTableModel) {                    DefaultTableModel model = (DefaultTableModel) current;                    Object header = properties.remove("header");                    if (header == null) {                        header = "";                    }                    Closure readClosure = (Closure) properties.remove("read");                    if (readClosure == null) {                        throw new IllegalArgumentException("Must specify 'read' Closure property for a closureColumn");                    }                    Closure writeClosure = (Closure) properties.remove("write");                    Class type = (Class) properties.remove("type");                    if (type == null) {                        type = Object.class;                    }                    return model.addClosureColumn(header, readClosure, writeClosure, type);                }                else {                    throw new RuntimeException("propertyColumn must be a child of a tableModel");                }            }        });        //Standard Layouts        registerBeanFactory("borderLayout", BorderLayout.class);        registerBeanFactory("cardLayout", CardLayout.class);        registerBeanFactory("flowLayout", FlowLayout.class);        registerBeanFactory("gridBagLayout", GridBagLayout.class);        registerBeanFactory("gridLayout", GridLayout.class);        registerBeanFactory("overlayLayout", OverlayLayout.class);        registerBeanFactory("springLayout", SpringLayout.class);        registerBeanFactory("gridBagConstraints", GridBagConstraints.class);        registerBeanFactory("gbc", GridBagConstraints.class); // shortcut name        // box layout        registerFactory("boxLayout", new Factory() {            public Object newInstance(Map properties)                throws InstantiationException, InstantiationException, IllegalAccessException {                return createBoxLayout(properties);            }        });        // Box related layout components        registerFactory("hbox", new Factory() {            public Object newInstance(Map properties) {                return Box.createHorizontalBox();            }        });        registerFactory("hglue", new Factory() {            public Object newInstance(Map properties) {                return Box.createHorizontalGlue();            }        });        registerFactory("hstrut", new Factory() {            public Object newInstance(Map properties) {                try {                Object num = properties.remove("width");                if (num instanceof Number) {                    return Box.createHorizontalStrut(((Number)num).intValue());                } else {                    return Box.createHorizontalStrut(6);                }                } catch (RuntimeException re) {                    re.printStackTrace(System.out);                    throw re;                }            }        });        registerFactory("vbox", new Factory() {            public Object newInstance(Map properties) {                return Box.createVerticalBox();            }        });        registerFactory("vglue", new Factory() {            public Object newInstance(Map properties) {                return Box.createVerticalGlue();            }        });        registerFactory("vstrut", new Factory() {            public Object newInstance(Map properties) {                Object num = properties.remove("height");                if (num instanceof Number) {                    return Box.createVerticalStrut(((Number)num).intValue());                } else {                    return Box.createVerticalStrut(6);                }            }        });        registerFactory("glue", new Factory() {            public Object newInstance(Map properties) {                return Box.createGlue();            }        });        registerFactory("rigidArea", new Factory() {            public Object newInstance(Map properties) {                Dimension dim;                Object o = properties.remove("size");                if (o instanceof Dimension) {                    dim = (Dimension) o;                } else {                    int w, h;                    o = properties.remove("width");                    w = ((o instanceof Number)) ? ((Number)o).intValue() : 6;                    o = properties.remove("height");                    h = ((o instanceof Number)) ? ((Number)o).intValue() : 6;                    dim = new Dimension(w, h);                }                return Box.createRigidArea(dim);            }        });                // table layout        registerBeanFactory("tableLayout", TableLayout.class);        registerFactory("tr", new Factory() {            public Object newInstance(Map properties) {                Object parent = getCurrent();                if (parent instanceof TableLayout) {                    return new TableLayoutRow((TableLayout) parent);                }                else {                    throw new RuntimeException("'tr' must be within a 'tableLayout'");                }            }        });        registerFactory("td", new Factory() {            public Object newInstance(Map properties) {                Object parent = getCurrent();                if (parent instanceof TableLayoutRow) {                    return new TableLayoutCell((TableLayoutRow) parent);                }                else {                    throw new RuntimeException("'td' must be within a 'tr'");                }            }        });    }    protected Object createBoxLayout(Map properties) {        Object parent = getCurrent();        if (parent instanceof Container) {            Object axisObject = properties.remove("axis");            int axis = BoxLayout.X_AXIS;            if (axisObject != null) {                Integer i = (Integer) axisObject;                axis = i.intValue();            }                        Container target = (Container) parent;            if (target instanceof RootPaneContainer) {            	target = ((RootPaneContainer) target).getContentPane();            }            BoxLayout answer = new BoxLayout(target, axis);                        // now lets try set the layout property            InvokerHelper.setProperty(parent, "layout", answer);            return answer;        }        else {            throw new RuntimeException("Must be nested inside a Container");        }    }    protected Object createDialog(Map properties) {        JDialog dialog;        Object owner = properties.remove("owner");        // if owner not explicit, use the last window type in the list        if ((owner == null) && !containingWindows.isEmpty()) {            owner = containingWindows.getLast();        }        if (owner instanceof Frame) {            dialog = new JDialog((Frame) owner);        }        else if (owner instanceof Dialog) {            dialog = new JDialog((Dialog) owner);        }        else {            dialog = new JDialog();        }        containingWindows.add(dialog);        return dialog;    }        /**     * Uses 'format," or "value,"  (in order)     *     */    protected Object createFormattedTextField(Map properties) {        JFormattedTextField ftf;        if (properties.containsKey("format")) {            ftf = new JFormattedTextField((Format) properties.remove("format"));        }        else if (properties.containsKey("value")) {            ftf = new JFormattedTextField(properties.remove("value"));        }        else {            ftf = new JFormattedTextField();        }        return ftf;    }    protected Object createFrame(Map properties) {        JFrame frame = new JFrame();        containingWindows.add(frame);        return frame;    }        protected Object createWindow(Map properties) {        JWindow window;        Object owner = properties.remove("owner");        // if owner not explicit, use the last window type in the list        if ((owner == null) && !containingWindows.isEmpty()) {            owner = containingWindows.getLast();        }        if (owner instanceof Frame) {            window = new JWindow((Frame) owner);        }        else if (owner instanceof Window) {            window = new JWindow((Window) owner);        }        else {            window = new JWindow();        }        containingWindows.add(window);        return window;    }    protected Object createComboBox(Map properties) {        Object items = properties.remove("items");        if (items instanceof Vector) {            return new JComboBox((Vector) items);        }        else if (items instanceof List) {            List list = (List) items;            return new JComboBox(list.toArray());        }        else if (items instanceof Object[]) {            return new JComboBox((Object[]) items);        }        else {            return new JComboBox();        }    }    protected void registerBeanFactory(String name, final Class beanClass) {        registerFactory(name, new Factory() {            public Object newInstance(Map properties) throws InstantiationException, IllegalAccessException {                return beanClass.newInstance();            }        });    }    protected void registerFactory(String name, Factory factory) {        factories.put(name, factory);    }}

⌨️ 快捷键说明

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