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

📄 columneditpane.java

📁 自动生成JAVA-Struts网站的程序
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package com.sutternow.swingkar.gui;import javax.swing.*;import javax.swing.event.ChangeListener;import javax.swing.event.ChangeEvent;import javax.swing.table.AbstractTableModel;import javax.swing.table.DefaultTableModel;import javax.swing.border.Border;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.Utils;/** * Created by IntelliJ IDEA. * User: Matthew Payne * Date: Jan 18, 2003 * Time: 1:01:50 AM * * * * */public class ColumnEditPane implements SimpleForm, ActionListener, MouseListener, ChangeListener {    public String Title = "Column Properties";    public ColumnEditPane(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 validPanel = new JPanel(new TableLayout());        final JPanel lookUpPanel = new JPanel(new TableLayout());        Border etched = BorderFactory.createEtchedBorder();        final JPanel topPanel = new JPanel(new TableLayout());        final JPanel bottomPanel = new JPanel();        /* rowLayout used as parent panel */        RowLayout rowLayout = new RowLayout(panel, 1, 25);        topPanel.add(new JLabel("Name:"), "1,1");        colName = new JTextField(10);        topPanel.add(colName, "1,2");        topPanel.add(new JLabel("Title:"), "2,1");        colTitle = new JTextField(10);        topPanel.add(colTitle, "2,2");        topPanel.add(new JLabel("SQL Name:"), "3,1");        sqlName = new JTextField(10);        topPanel.add(sqlName, "3,2");        topPanel.add(new JLabel("Type:"), "4,1");        String types[] = {"auto", "boolean", "byte", "char", "creditcard",                          "date", "double", "email", "float", "int", "long",                          "memo", "password", "short", "string", "timestamp"};        colType = new JComboBox(types);        topPanel.add(colType, "4,2");        topPanel.add(new JLabel("Format:"), "5,1");        colFormat = new JTextField(10);        topPanel.add(colFormat, "5,2");        validPanel.setBorder(BorderFactory.createTitledBorder(etched, "Validation"));           /*  validation ui */        validPanel.add(new JLabel("Mask:"), "1,1");        colMask = new JTextField(10);        colMask.setToolTipText("Regular expression mask used by struts validator");        validPanel.add(colMask, "1,2");        validPanel.add(new JLabel("Min Length:"), "1,3");        minLength = new JSpinner(new SpinnerNumberModel(1, 1, 500, 5));        validPanel.add(minLength, "1,4");        chkRequired = new JCheckBox("Required");        validPanel.add(chkRequired, "1,5");        validPanel.add(new JLabel("Mask Message:"), "2,1");        maskMsg = new JTextField(10);        maskMsg.setToolTipText("Error message to be displayed when input does not fit mask");        validPanel.add(maskMsg, "2,2");        validPanel.add(new JLabel("Max Length:"), "2,3");        maxLength = new JSpinner(new SpinnerNumberModel(20, 1, 500, 5));        validPanel.add(maxLength, "2,4");        lookUpPanel.setBorder(BorderFactory.createTitledBorder(etched, "Lookup Value"));        btnNoLookup = new JRadioButton("No Lookup", true);        btnGlobalRef = new JRadioButton("Global Reference");        btnLocalRef = new JRadioButton("Local Reference");        btnGlobalRef.addChangeListener(this);        btnLocalRef.addChangeListener(this);        btnNoLookup.addChangeListener(this);        ButtonGroup group = new ButtonGroup();        group.add(btnNoLookup);        group.add(btnGlobalRef);        group.add(btnLocalRef);        lookUpPanel.add(btnNoLookup, "1,1");        lookUpPanel.add(btnGlobalRef, "2,1");        cmbGlobalRef = new JComboBox();        lookUpPanel.add(cmbGlobalRef, "2,2");        lookUpPanel.add(btnLocalRef, "3,1");        cmbWidget = new JComboBox(new String[]{"select", "option"});        lookUpPanel.add(new JLabel("Widget"), "3,2");        lookUpPanel.add(cmbWidget, "3,3");        localRefTable = new JTable();        localRefTable.addMouseListener(this);               JScrollPane jsp = new JScrollPane(localRefTable);               jsp.setMinimumSize(new Dimension(90,80));               jsp.setMaximumSize(new Dimension(320,160));               jsp.setPreferredSize(new Dimension(300,150));               lookUpPanel.add(jsp, "4,1+3");        /*cmdSave = new JButton("Save");        cmdCancel = new JButton("Cancel");        cmdSave.addActionListener(this);        cmdCancel.addActionListener(this);        bottomPanel.add(cmdSave);        bottomPanel.add(cmdCancel);*/        layout.setColumnExpandable(0, true);        layout.setColumnExpandable(1, true);        rowLayout.add(topPanel, 0);        rowLayout.add(validPanel, 1);        rowLayout.add(lookUpPanel, 2);        rowLayout.add(bottomPanel, 3);        return panel;    }    public void setValues(Element beanCfg) {        this.clearForm();        String relPath = beanCfg.getUniquePath();        colProps = beanCfg;     /* <column>      <name>address</name>      <title>Company Address</title>      <type>string</type>      <validation>        <required>true</required>        <max-length>50</max-length>        <mask>[a-zA-Z0-9]+</mask>        <maskmsg>Not valid value for login</maskmsg>     </validation>    </column>*/        colName.setText(colProps.valueOf(relPath + "/name"));        colTitle.setText(Utils.parseNull(colProps.valueOf(relPath + "/title")));        sqlName.setText(Utils.parseNull(colProps.valueOf(relPath + "/sql-name")));        colType.setSelectedItem(colProps.elementText("type"));        Element validation = colProps.element("validation");        if (validation.elementText("max-length") != null) {            maxLength.setValue(new Integer(validation.elementText("max-length")));        }        if (validation.elementText("max-length") != null) {            maxLength.setValue(new Integer(validation.elementText("max-length")));        }        if (validation.elementText("mask") != null) {              colMask.setText(validation.elementText("mask"));        }        if (validation.elementText("maskmsg") != null) {            maskMsg.setText(validation.elementText("maskmsg"));        }        chkRequired.setSelected(validation.elementText("required").equals("true"));        if (beanCfg.element("value") != null) {            cmbWidget.setSelectedItem(beanCfg.element("value").element("widget"));            if (beanCfg.element("value").element("global-value-ref") != null) {                btnGlobalRef.setSelected(true);                cmbGlobalRef.setSelectedItem(beanCfg.element("value").element("global-value-ref"));                localRefTable.setModel(new DefaultTableModel());            } else {                btnLocalRef.setSelected(true);                columnModel = new ColumnValuesModel(beanCfg.element("value"));                localRefTable.setModel(columnModel);            }        }  else {            btnNoLookup.setSelected(true);            localRefTable.setModel(new DefaultTableModel());        }        fillGlobalReferences();    }   private void fillGlobalReferences() {       cmbGlobalRef.removeAllItems();       List choices = colProps.selectNodes("//global-value-ref/name");       Iterator itr = choices.listIterator();       while (itr.hasNext())  {           Element e = (Element)itr.next();           cmbGlobalRef.addItem(e.getText());       }   }    public void actionPerformed(ActionEvent ae) {        JButton src = (JButton) ae.getSource();     /*   if (src == cmdSave) {            doSave();        } else if (src == cmdCancel) {            clearForm();        }*/    }

⌨️ 快捷键说明

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