The editor class is used to edit the property values in the Properties dialog of the form and report editor. A new editor class should extend the class SimpleGroupEditor.
Exmple of an editor class:
public class LabelEditor extends SimpleGroupEditor { private JTextField field; Object value; protected JComponent createEditorComp() { field = new JTextField(); field.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { finishCellEditing(); } }); return field; } public Object getCellEditorValue() { value = field.getText(); return (isGrouped() ? new Object[] { value }: value); } protected void setCellEditorValue(Object[] arg0, Component arg1) throws InvocationTargetException { field.setText(arg0[0].toString()); value = (arg0 == null) ? null : arg0[0]; } }
Die Methode JComponent createEditorComp() gibt
eine Komponente zurück, mit der es möglich ist, den Eigenschaftswert
zu bearbeiten. Im Beispiel wird ein JTextField
zurückgegeben, mit dem der Beschreibungstext bearbeitet werden kann. Das
JTextField
benötigt einen ActionListener,
der nach Beendigung der Eingabe die Methode finishCellEditing(); aufruft.
Die Methode
Object getCellEditorValue()
gibt ein Object zurück, das den Eigenschaftswert der Komponente enthält.
Die Methode
void setCellEditorValue(Object[] arg0, Component arg1)
sichert den Wert der in den Editor eingegeben wurde als Object.