?? beaneditpane.java
字號(hào):
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;}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -