1 36 package org.ungoverned.oscar.installer; 37 38 import java.awt.GridBagConstraints ; 39 import java.awt.GridBagLayout ; 40 import java.awt.Insets ; 41 import java.util.*; 42 43 import javax.swing.JComponent ; 44 import javax.swing.JLabel ; 45 import javax.swing.JPanel ; 46 47 public class PropertyPanel extends JPanel 48 { 49 private List m_propList = null; 50 private Map m_propToCompMap = null; 51 52 public PropertyPanel(List paramList) 53 { 54 super(); 55 m_propList = paramList; 56 m_propToCompMap = new HashMap(); 57 layoutComponents(); 58 } 59 60 public void setEnabled(boolean b) 61 { 62 for (int i = 0; i < m_propList.size(); i++) 63 { 64 Property prop = (Property) m_propList.get(i); 65 JComponent comp = (JComponent ) m_propToCompMap.get(prop.getName()); 66 comp.setEnabled(b); 67 } 68 } 69 70 public List getProperties() 71 { 72 return m_propList; 73 } 74 75 protected void layoutComponents() 76 { 77 GridBagLayout grid = new GridBagLayout (); 79 GridBagConstraints gbc = new GridBagConstraints (); 80 gbc.insets = new Insets (2, 2, 2, 2); 81 setLayout(grid); 82 83 for (int i = 0; i < m_propList.size(); i++) 84 { 85 Property prop = (Property) m_propList.get(i); 86 JLabel label = null; 87 JComponent component = null; 88 89 gbc.gridx = 0; 91 gbc.gridy = i; 92 gbc.gridheight = 1; 93 gbc.gridwidth = 1; 94 gbc.anchor = GridBagConstraints.EAST; 95 grid.setConstraints(label = new JLabel (prop.getName()), gbc); 96 add(label); 97 98 gbc.gridx = 1; 99 gbc.gridy = i; 100 gbc.gridheight = 1; 101 gbc.gridwidth = 3; 102 gbc.anchor = GridBagConstraints.WEST; 103 grid.setConstraints(component = prop.getEditor(), gbc); 104 add(component); 105 106 m_propToCompMap.put(prop.getName(), component); 107 } 108 } 109 } | Popular Tags |