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

📄 beaneditpane.java

📁 自动生成JAVA-Struts网站的程序
💻 JAVA
字号:
package com.sutternow.swingkar.gui;import javax.swing.*;import javax.swing.table.AbstractTableModel;import javax.swing.table.DefaultTableModel;import javax.swing.filechooser.FileFilter;import java.awt.event.*;import java.awt.*;import java.util.*;import java.util.List;import org.dom4j.Element;import org.dom4j.DocumentHelper;import net.sf.easylayouts.*;import com.gargoylesoftware.base.gui.TableLayout;import com.sutternow.swingkar.ConfigManager;import com.sutternow.misc.*;/** * Created by IntelliJ IDEA. * User: Matthew Payne * Date: Jan 18, 2003 * Time: 1:01:50 AM * To change this template use Options | File Templates. */public class BeanEditPane implements SimpleForm, ActionListener, MouseListener {    public String Title = "Bean Properties";    public BeanEditPane(ConfigManager _cm) {        cm = _cm;        props = new LinkedHashMap();        beanPanel = this.createPanel();    }    public String getTitle() {        return Title;    }    public JPanel getEditForm() {        return beanPanel;    }    private JPanel createPanel() {        final TableLayout layout = new TableLayout();        final JPanel panel = new JPanel();        final JPanel topPanel = new JPanel(new TableLayout());        final JPanel bottomPanel = new JPanel();        RowLayout rowLayout = new RowLayout(panel, 1, 25);        topPanel.add(new JLabel("Bean Name:"), "1,1");        BeanName = new JTextField(10);        topPanel.add(BeanName, "1,2");        chkDAO = new JCheckBox("Generate DAO");        topPanel.add(chkDAO, "1,3");        topPanel.add(new JLabel("SQL Name:"), "2,1");        sqlName = new JTextField(10);        topPanel.add(sqlName, "2,2");        chkGenProcess = new JCheckBox("Generate Process");        topPanel.add(chkGenProcess, "2,3");        topPanel.add(new JLabel("Page Size:"), "3,1");        pageSize = new JTextField(3);        topPanel.add(pageSize, "3,2");        chkGenJavaScript = new JCheckBox("Javascript Validation");        topPanel.add(chkGenJavaScript, "3,3");        topPanel.add(new JLabel("Minutes to Live(Cache):"), "4,1");        minToLive = new JTextField(3);        topPanel.add(minToLive, "4,2");        propModel = new PropertyTableModel(props.entrySet());        fieldsTable = new JTable(propModel);        fieldsTable.addMouseListener(this);        JScrollPane jsp = new JScrollPane(fieldsTable);        //jsp.setSize(80, 90);        jsp.setMinimumSize(new Dimension(90, 80));        jsp.setMaximumSize(new Dimension(320, 260));        jsp.setPreferredSize(new Dimension(300, 240));        topPanel.add(jsp, "5,1+4");        layout.setColumnExpandable(0, true);        layout.setColumnExpandable(1, true);        rowLayout.add(topPanel, 0);        rowLayout.add(bottomPanel, 1);        return panel;    }    public void setValues(Element beanCfg) {        System.out.println("Setting bean values");        this.clearForm();        String relPath = beanCfg.getUniquePath();        beanProps = beanCfg;        chkGenProcess.setSelected(beanProps.elementText("generate-process").equals("true"));        chkDAO.setSelected(beanProps.elementText("generate-dao").equals("true"));        if (beanProps.elementText("javascript-validation") != null) {            chkGenJavaScript.setSelected(beanProps.elementText("javascript-validation").equals("true"));        } else {            beanProps.addElement("javascript-validation");        }        BeanName.setText(beanCfg.valueOf(relPath + "/name"));        sqlName.setText(Utils.parseNull(beanCfg.valueOf(relPath + "/sql-name")));        pageSize.setText(beanCfg.valueOf(relPath + "/page-length"));        minToLive.setText(beanCfg.valueOf(relPath + "/cache-mtl"));        List choices = beanCfg.selectNodes(relPath + "/*[name()='primary-key']/column");        for (Iterator iter = choices.listIterator(); iter.hasNext();) {            String code = "";            String display = "";            Element element = (Element) iter.next();            code = "Primary Key";            display = element.elementText("name");            props.put(display, code);        }        choices = beanCfg.selectNodes(relPath + "/*[name()='attribute']/column");        for (Iterator iter = choices.listIterator(); iter.hasNext();) {            String code = "";            String display = "";            Element element = (Element) iter.next();            code = "Attribute";            display = element.elementText("name");            props.put(display, code);        }        propModel.requestRefresh();    }    public void actionPerformed(ActionEvent ae) {        JButton src = (JButton) ae.getSource();    }    private void clearForm() {        /*            Set values to defaults        */        BeanName.setText("");        minToLive.setText("1");        pageSize.setText("23");        sqlName.setText("");        chkGenProcess.setSelected(false);        chkGenJavaScript.setSelected(false);        chkDAO.setSelected(true);        props.clear();    }    public void doSave() {        beanProps.element("name").setText(BeanName.getText());        // optional elements        Dom4jHelper.setElement(beanProps, "sql-name", sqlName.getText());        Dom4jHelper.setElement(beanProps, "page-length", pageSize.getText());        Dom4jHelper.setElement(beanProps, "cache-mtl", minToLive.getText());        // ****        if (chkGenProcess.isSelected()) {            beanProps.element("generate-process").setText("true");        } else {            beanProps.element("generate-process").setText("false");        }        if (chkDAO.isSelected()) {            beanProps.element("generate-dao").setText("true");        } else {            beanProps.element("generate-dao").setText("false");        }        if (chkGenJavaScript.isSelected()) {            beanProps.element("javascript-validation").setText("true");        } else {            beanProps.element("javascript-validation").setText("false");        }         System.out.println(this.Title + " Saved");        //cm.saveBuildConfig(this.makeResponse());    }    private void handleMouseEvent(MouseEvent evt) {    }    public void mousePressed(MouseEvent evt) {        handleMouseEvent(evt);    }    public void mouseReleased(MouseEvent evt) {        handleMouseEvent(evt);    }    public void mouseClicked(MouseEvent e) {    }    public void mouseEntered(MouseEvent e) {    }    public void mouseExited(MouseEvent e) {    }    //{{{ AppModel class    private static class PropertyModel extends AbstractTableModel {        /**         * Constructs an AppList table model.         * @param _appSet  the collection of extentions and associations         */        public PropertyModel(Set _appSet) {            appSet = _appSet;        }        public int getRowCount() {            return appSet.size();        }        public void requestRefresh() {            /* Used to refresh the table */            super.fireTableDataChanged();        }        public int getColumnCount() {            return 2;        }        public Object getValueAt(int r, int c) {            Iterator iter = appSet.iterator();            int iCurrentRow = 0;            while (iter.hasNext()) {                Map.Entry entry = (Map.Entry) iter.next();                if (iCurrentRow == r)                    switch (c) {                        case 0:                            return entry.getKey();                        case 1:                            return entry.getValue();                    }                iCurrentRow++;            }            return "no value dude";        }        public String getColumnName(int c) {            return (c == 0) ?                    "Attribute" :                    "Type";        }        private Set appSet;    } //}}}    private JPanel beanPanel;    private JTextField BeanName;    private JTextField sqlName;    private JTextField pageSize;    private JTextField minToLive;    private JCheckBox chkDAO;    private JCheckBox chkGenProcess;    private JCheckBox chkGenJavaScript;    private PropertyTableModel propModel;    private JTable fieldsTable;    private Map props;    private ConfigManager cm;    private Element beanProps;}

⌨️ 快捷键说明

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