protected void initComponents() {
setLayout(new BorderLayout());
JPanel contentPanel = new JPanel();
GridBagLayout layout = new GridBagLayout();
contentPanel.setLayout(layout);
contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
Insets defaultInsets = new Insets(5, 5, 5, 5);
if (editObject != null) {
/* descriptoren f�r die eigenschaften der klasse */
if (beanInfo == null) {
beanInfo = BeanInfoUtils.getBeanInfoFor(editObject);
}
propertyDescriptors = beanInfo.getPropertyDescriptors();
int columns = 1;
if( propertyDescriptors.length >20 ) {
columns = propertyDescriptors.length / 20 + 1;
}
int x = 0;
int y = 0;
/* spalten anhand der eigenschaften der klasse hinzuf�gen */
for (int i = 0; i < propertyDescriptors.length; i++) {
PropertyDescriptor propertyDescriptor = propertyDescriptors[i];
String propertyName = propertyDescriptor.getName();
Class propertyType = propertyDescriptor.getPropertyType();
// wir blenden die properties aus, die ...
// ... im property type null zur�ckliefern oder
// ... der name "class" ist
//////////////////////////////////////////////////////////////
if (propertyType != null && !propertyName.equals("class")
&& !propertyDescriptor.isHidden() && !propertyName.equals("beanInfo")) {
JComponent component1 = new JLabel(propertyDescriptor.getDisplayName() + ":");
Component component2 = null;
try {
ComponentWrapper wrapper = ComponentMapper.getWrapperFor(editObject, propertyName);
if (wrapper == null) {
Trace.warn("Missing wrapper for " + editObject.getClass().getName() + "." + propertyName);
component2 = ComponentMapper.getComponentFor(editObject, propertyName);
} else {
Trace.info("wrapper for " + editObject.getClass().getName() + "." + propertyName + " is " + wrapper.getClass().getName() );
wrapper.setToolTipText(propertyDescriptor.getShortDescription());
component2 = wrapper.getRepresentation();
componentWrapper.put(propertyName, wrapper);
}
} catch (Exception e) {
net.sf.raptor.ui.dialog.ExceptionDialog.showExceptionDialog(e);
}
component1.setToolTipText(propertyDescriptor.getShortDescription());
/** komponenten hinzuf�gen */
contentPanel.add(component1, new GridBagConstraints(x, y, 1, 1, 0.0, 0.0, GridBagConstraints.NORTHWEST, GridBagConstraints.NONE, defaultInsets, 0, 0));
contentPanel.add(component2, new GridBagConstraints(x + 1, y, 1, 1, 1.0, 1.0, GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, defaultInsets, 0, 0));
/** neue poistionen, spalten etc. f�r n�chtes element vorbereiten */
x+=2;
if( x >columns) {
x=0; y++;
}
}
}
add(contentPanel, BorderLayout.CENTER);
add( ActionUtils.createButtonPanel(this), BorderLayout.EAST);
}
super.doLayout();
}
|