1   /**
2    * Distribution License:
3    * JSword is free software; you can redistribute it and/or modify it under
4    * the terms of the GNU Lesser General Public License, version 2.1 as published by
5    * the Free Software Foundation. This program is distributed in the hope
6    * that it will be useful, but WITHOUT ANY WARRANTY; without even the
7    * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
8    * See the GNU Lesser General Public License for more details.
9    *
10   * The License is available on the internet at:
11   *       http://www.gnu.org/copyleft/lgpl.html
12   * or by writing to:
13   *      Free Software Foundation, Inc.
14   *      59 Temple Place - Suite 330
15   *      Boston, MA 02111-1307, USA
16   *
17   * Copyright: 2005
18   *     The copyright to this program is held by it's authors.
19   *
20   * ID: $Id: TextField.java 1996 2010-10-23 20:40:54Z dmsmith $
21   */
22  package org.crosswire.common.config.swing;
23  
24  import javax.swing.JComponent;
25  import javax.swing.JTextField;
26  
27  import org.crosswire.common.config.Choice;
28  
29  /**
30   * Text choice swing component.
31   * 
32   * @see gnu.lgpl.License for license details.<br>
33   *      The copyright to this program is held by it's authors.
34   * @author Joe Walker [joe at eireneh dot com]
35   */
36  public class TextField extends JTextField implements Field {
37      /**
38       * Some fields will need some extra info to display properly like the
39       * options in an options field. FieldMap calls this method with options
40       * provided by the choice.
41       * 
42       * @param param
43       *            The options provided by the Choice
44       */
45      public void setChoice(Choice param) {
46      }
47  
48      /**
49       * Return a string version of the current value
50       * 
51       * @return The current value
52       */
53      public String getValue() {
54          return getText();
55      }
56  
57      /**
58       * Set the current value
59       * 
60       * @param value
61       *            The new text
62       */
63      public void setValue(String value) {
64          if (value == null) {
65              setText("");
66          } else {
67              setText(value);
68          }
69      }
70  
71      /**
72       * Get the actual component that we can add to a Panel. (This can well be
73       * this in an implementation).
74       */
75      public JComponent getComponent() {
76          return this;
77      }
78  
79      /**
80       * Serialization ID
81       */
82      private static final long serialVersionUID = 3257009864814311474L;
83  }
84