?? columneditpane.java
字號:
public void stateChanged(ChangeEvent e) { JRadioButton btn = (JRadioButton)e.getSource(); if (btnNoLookup.isSelected()) { cmbWidget.setEnabled(false); localRefTable.setEnabled(false); cmbGlobalRef.setEnabled(false); colProps.remove(colProps.element("value")); } else if (btnGlobalRef.isSelected()) { localRefTable.setEnabled(false); cmbWidget.setEnabled(true); cmbGlobalRef.setEnabled(true); } else if (btnLocalRef.isSelected()) { localRefTable.setEnabled(true); cmbWidget.setEnabled(true); cmbGlobalRef.setEnabled(false); if (colProps.element("value") != null) { columnModel = new ColumnValuesModel(colProps.element("value")); } else { columnModel = new ColumnValuesModel(colProps.addElement("value")); } localRefTable.setModel(columnModel); } } private void clearForm() { /* Set values to defaults */ colName.setText(""); colTitle.setText(""); colType.setSelectedIndex(1); chkRequired.setSelected(false); maxLength.setValue(new Integer(20)); colMask.setText(""); maskMsg.setText(""); props.clear(); } private void setElement(Element parent, String elementName, String value ) { if (parent.element(elementName) != null) { if (value.trim().length() ==0) parent.element(elementName).detach(); else parent.element(elementName).setText(value); } else { if (value.trim().length() !=0) parent.addElement(elementName).setText(value); } } public void doSave() { colProps.element("name").setText(colName.getText()); colProps.element("title").setText(colTitle.getText()); colProps.element("type").setText((String) colType.getSelectedItem()); this.setElement(colProps, "sql-name", sqlName.getText()); //validation Element validation = colProps.element("validation"); validation.clearContent(); if (chkRequired.isSelected()) { validation.addElement("required").setText("true"); } else { validation.addElement("required").setText("false"); } if (colMask.getText().trim().length() > 1) { validation.addElement("mask").setText(colMask.getText()); validation.addElement("maskmsg").setText(maskMsg.getText()); } if (colType.getSelectedItem().equals("string")) { validation.addElement("min-length").setText(minLength.getValue().toString()); validation.addElement("max-length").setText(maxLength.getValue().toString()); } if (btnGlobalRef.isSelected()) { this.setElement(colProps.element("value"), "widget",(String)cmbWidget.getSelectedItem()); this.setElement(colProps.element("value"), "global-value-ref",(String)cmbGlobalRef.getSelectedItem()); } else if (btnNoLookup.isSelected()) { colProps.remove(colProps.element("value")); } else if (btnLocalRef.isSelected()) { this.setElement(colProps.element("value"), "widget",(String)cmbWidget.getSelectedItem()); } // clear emtpy choices Collection emptys = colProps.selectNodes("//choice[code='']"); Iterator itr = emptys.iterator(); while (itr.hasNext()) { ((Element)itr.next()).detach(); } System.out.println(this.Title + " Saved"); } 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) { } private JPanel beanPanel; private JTextField colName; private JTextField colTitle; private JTextField sqlName; private JComboBox colType; private JTextField colFormat; private JCheckBox chkRequired; private JSpinner minLength; private JSpinner maxLength; private JTextField colMask; private JTextField maskMsg; private JRadioButton btnNoLookup; private JRadioButton btnGlobalRef; private JRadioButton btnLocalRef; private JComboBox cmbGlobalRef; private JComboBox cmbWidget; private ColumnValuesModel columnModel; private JTable localRefTable; private Map props; // private JButton cmdSave; // private JButton cmdCancel; private ConfigManager cm; private Element colProps;}class ColumnValuesModel extends AbstractTableModel { /** * Constructs an AppList table model. * @param _choices the Element the Represents a choices Object */ public ColumnValuesModel(Element _choices) { choices = _choices; relPath = choices.getUniquePath(); if (getRowCount() < 1) addChoice("", ""); //Add empty item for Data entry this.fireTableRowsInserted(0, getRowCount()); //this.requestRefresh(); } public int getRowCount() { return choices.selectNodes(relPath + "/choice").size(); } public boolean isCellEditable(int rowIndex, int columnIndex) { return true; } public void requestRefresh() { /* Used to refresh the table */ super.fireTableDataChanged(); } public int getColumnCount() { return 2; } public void addChoice(String newTitle, String newPath) { Element item = choices.addElement("choice"); item.addElement("code").setText(newTitle); item.addElement("display").setText(newPath); } public Object getValueAt(int r, int c) { Element el = (Element)choices.selectNodes(relPath + "/choice").get(r); switch (c) { case 0: return el.elementText("code"); case 1: return el.elementText("display"); } return el.getText(); } public void setValueAt(Object aValue, int r, int c) { List list = choices.selectNodes(relPath + "/choice"); if (((String)aValue).length() == 0 && r != list.size() - 1) { Element e = (Element)list.get(r); e.detach(); fireTableRowsDeleted(r,r); } Element el = (Element)list.get(r); switch (c) { case 0: el.element("code").setText((String)aValue); break; case 1: el.element("display").setText((String)aValue); break; } // el.setText((String)aValue); if (r == list.size() - 1) { this.addChoice("", ""); fireTableRowsInserted(r + 1, r + 1); } } public String getColumnName(int c) { switch (c) { case 0: return "Code"; case 1: return "Display"; } return "no value dude"; } private Element choices; String relPath = "";}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -