01: import java.awt.Component; 02: import java.beans.PropertyEditorSupport; 03: import javax.swing.JScrollPane; 04: import javax.swing.JTextArea; 05: import javax.swing.event.DocumentEvent; 06: import javax.swing.event.DocumentListener; 07: import javax.swing.text.Document; 08: 09: /** 10: A property editor for the MultiLineString type. 11: */ 12: public class MultiLineStringEditor extends PropertyEditorSupport 13: { 14: public boolean supportsCustomEditor() 15: { 16: return true; 17: } 18: 19: public Component getCustomEditor() 20: { 21: final MultiLineString value = (MultiLineString) getValue(); 22: final JTextArea textArea = new JTextArea(10, 40); 23: textArea.setText(value.getText()); 24: textArea.getDocument().addDocumentListener(new 25: DocumentListener() 26: { 27: public void insertUpdate(DocumentEvent e) 28: { 29: value.setText(textArea.getText()); 30: firePropertyChange(); 31: } 32: public void removeUpdate(DocumentEvent e) 33: { 34: value.setText(textArea.getText()); 35: firePropertyChange(); 36: } 37: public void changedUpdate(DocumentEvent e) 38: { 39: } 40: }); 41: return new JScrollPane(textArea); 42: } 43: }