// ********************************************************************** // // <copyright> // // BBN Technologies // 10 Moulton Street // Cambridge, MA 02138 // (617) 873-8000 // // Copyright (C) BBNT Solutions LLC. All rights reserved. // // </copyright> // ********************************************************************** // // $Source: /cvs/distapps/openmap/src/openmap/com/bbn/openmap/util/propertyEditor/TextPropertyEditor.java,v $ // $RCSfile: TextPropertyEditor.java,v $ // $Revision: 1.4 $ // $Date: 2004/10/14 18:06:31 $ // $Author: dietrick $ // // ********************************************************************** package com.bbn.openmap.util.propertyEditor; import java.awt.Component; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.FocusEvent; import java.awt.event.FocusListener; import java.beans.PropertyEditorSupport; import javax.swing.JPanel; import javax.swing.JTextField; /** * A PropertyEditor that displays a TextField to edit a String. */ public class TextPropertyEditor extends PropertyEditorSupport implements ActionListener, FocusListener { /** The GUI component of this editor. */ JTextField textField = new JTextField(10); public boolean supportsCustomEditor() { return true; } /** Returns the editor GUI, ie a JTextField. */ public Component getCustomEditor() { JPanel jp = new JPanel(); textField.addActionListener(this); textField.addFocusListener(this); GridBagLayout gridbag = new GridBagLayout(); GridBagConstraints c = new GridBagConstraints(); jp.setLayout(gridbag); c.weightx = 1f; c.fill = GridBagConstraints.HORIZONTAL; gridbag.setConstraints(textField, c); jp.add(textField); return jp; } public void actionPerformed(ActionEvent e) { //System.out.println("value changed"); firePropertyChange(); } public void focusGained(FocusEvent e) {} public void focusLost(FocusEvent e) { firePropertyChange(); } /** Sets String in JTextField. */ public void setValue(Object string) { if (!(string instanceof String)) return; textField.setText((String) string); } /** Returns String from JTextfield. */ public String getAsText() { return textField.getText(); } }