1 16 17 package org.mc4j.console.connection.wizard.advanced; 18 19 import javax.swing.table.DefaultTableModel ; 20 import java.util.Iterator ; 21 import java.util.Map ; 22 import java.util.Properties ; 23 import java.util.Vector ; 24 25 26 27 31 public class AdvancedPanel extends javax.swing.JPanel { 32 33 34 public AdvancedPanel(Map properties) { 35 initComponents(); 36 if (properties != null) { 37 setProperties(properties); 38 } 39 } 40 41 private void setProperties(Map properties) { 42 DefaultTableModel model = (DefaultTableModel ) this.propertyTable.getModel(); 43 for (Iterator iterator = properties.entrySet().iterator(); iterator.hasNext();) { 44 Map.Entry entry = (Map.Entry ) iterator.next(); 45 String key = (String ) entry.getKey(); 46 String value = (String ) entry.getValue(); 47 48 Vector row = new Vector (); 49 row.add(key); row.add(value); 50 model.addRow(row); 51 } 52 } 53 54 public Properties getProperties() { 55 Properties properties = new Properties (); 56 DefaultTableModel model = (DefaultTableModel ) this.propertyTable.getModel(); 57 Vector data = model.getDataVector(); 58 for (Object aData : data) { 59 Vector vector = (Vector ) aData; 60 String key = (String ) vector.get(0); 61 String value = (String ) vector.get(0); 62 properties.put(key, value); 63 } 64 return properties; 65 } 66 67 68 73 private void initComponents() { java.awt.GridBagConstraints gridBagConstraints; 75 76 borderLayout1 = new java.awt.BorderLayout (); 77 infoLabel = new javax.swing.JLabel (); 78 propertyTableScrollPane = new javax.swing.JScrollPane (); 79 propertyTable = new javax.swing.JTable (); 80 rightButtonPanel = new javax.swing.JPanel (); 81 addButton = new javax.swing.JButton (); 82 removeButton = new javax.swing.JButton (); 83 84 setLayout(new java.awt.GridBagLayout ()); 85 86 infoLabel.setText("Add new connection properties here..."); 87 gridBagConstraints = new java.awt.GridBagConstraints (); 88 gridBagConstraints.insets = new java.awt.Insets (8, 8, 8, 8); 89 add(infoLabel, gridBagConstraints); 90 91 propertyTable.setModel(new javax.swing.table.DefaultTableModel ( 92 new Object [][] { 93 94 }, 95 new String [] { 96 "Name", "Value" 97 } 98 ) { 99 Class [] types = new Class [] { 100 java.lang.String .class, java.lang.String .class 101 }; 102 103 public Class getColumnClass(int columnIndex) { 104 return types [columnIndex]; 105 } 106 }); 107 propertyTableScrollPane.setViewportView(propertyTable); 108 109 gridBagConstraints = new java.awt.GridBagConstraints (); 110 gridBagConstraints.gridx = 0; 111 gridBagConstraints.gridy = 1; 112 gridBagConstraints.gridheight = 2; 113 gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; 114 gridBagConstraints.weightx = 1.0; 115 gridBagConstraints.weighty = 1.0; 116 gridBagConstraints.insets = new java.awt.Insets (5, 5, 5, 5); 117 add(propertyTableScrollPane, gridBagConstraints); 118 119 rightButtonPanel.setLayout(new java.awt.GridBagLayout ()); 120 121 addButton.setText("Add"); 122 addButton.addActionListener(new java.awt.event.ActionListener () { 123 public void actionPerformed(java.awt.event.ActionEvent evt) { 124 addButtonActionPerformed(evt); 125 } 126 }); 127 128 gridBagConstraints = new java.awt.GridBagConstraints (); 129 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 130 gridBagConstraints.insets = new java.awt.Insets (4, 4, 4, 4); 131 rightButtonPanel.add(addButton, gridBagConstraints); 132 133 removeButton.setText("Remove"); 134 removeButton.setEnabled(false); 135 removeButton.addActionListener(new java.awt.event.ActionListener () { 136 public void actionPerformed(java.awt.event.ActionEvent evt) { 137 removeButtonActionPerformed(evt); 138 } 139 }); 140 141 gridBagConstraints = new java.awt.GridBagConstraints (); 142 gridBagConstraints.gridx = 0; 143 gridBagConstraints.gridy = 1; 144 gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; 145 gridBagConstraints.insets = new java.awt.Insets (4, 4, 4, 4); 146 rightButtonPanel.add(removeButton, gridBagConstraints); 147 148 gridBagConstraints = new java.awt.GridBagConstraints (); 149 gridBagConstraints.gridx = 1; 150 gridBagConstraints.gridy = 1; 151 gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; 152 add(rightButtonPanel, gridBagConstraints); 153 154 } 156 private void removeButtonActionPerformed(java.awt.event.ActionEvent evt) { int rowSelection = this.propertyTable.getSelectedRow(); 158 DefaultTableModel model = (DefaultTableModel ) this.propertyTable.getModel(); 159 model.removeRow(rowSelection); 160 } 162 private void addButtonActionPerformed(java.awt.event.ActionEvent evt) { DefaultTableModel model = (DefaultTableModel ) this.propertyTable.getModel(); 164 model.addRow(new Object [] { "", "" }); 165 166 } 168 169 private javax.swing.JButton addButton; 171 private java.awt.BorderLayout borderLayout1; 172 private javax.swing.JLabel infoLabel; 173 private javax.swing.JTable propertyTable; 174 private javax.swing.JScrollPane propertyTableScrollPane; 175 private javax.swing.JButton removeButton; 176 private javax.swing.JPanel rightButtonPanel; 177 179 } 180 | Popular Tags |