ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/cms/source/conient/uk/org/iscream/cms/conient/datacomponents/StringDataComponent.java
(Generate patch)

Comparing projects/cms/source/conient/uk/org/iscream/cms/conient/datacomponents/StringDataComponent.java (file contents):
Revision 1.5 by ajm, Wed Jan 24 01:54:43 2001 UTC vs.
Revision 1.13 by ajm, Mon Mar 5 16:13:40 2001 UTC

# Line 1 | Line 1
1   //---PACKAGE DECLARATION---
2 < uk.ac.ukc.iscream.conient.datacomponents;
2 > package uk.ac.ukc.iscream.conient.datacomponents;
3  
4   //---IMPORTS---
5   import javax.swing.JLabel;
6   import javax.swing.JTextField;
7   import java.awt.GridLayout;
8 + import javax.swing.SwingUtilities;
9  
10   /**
11   * This is the most basic of DataComponents.
# Line 15 | Line 16 | import java.awt.GridLayout;
16   * @author  $Author$
17   * @version $Id$
18   */
19 < public class StringDataComponent extends VisibleDataComponent implements DataComponent {
19 > public class StringDataComponent extends VisibleDataComponent {
20  
21   //---FINAL ATTRIBUTES---
22  
# Line 27 | Line 28 | public class StringDataComponent extends VisibleDataCo
28      /**
29       * The default length of the JTextField
30       */
31 <    private final int DEFAULT_DISPLAY_LENGTH = 20;
31 >    protected final int DEFAULT_TEXT_LENGTH = 20;
32  
33   //---STATIC METHODS---
34  
# Line 41 | Line 42 | public class StringDataComponent extends VisibleDataCo
42       * @param attribute the data attribute we look after
43       */
44      public StringDataComponent(String name, String attribute) {
44        this(name, attribute, DEFAULT_DISPLAY_LENGTH);
45    }
46
47    /**
48     * Creates the component with a friendly name to be
49     * used as label
50     *
51     * @param name the friendly name
52     * @param attribute the data attribute we look after
53     * @param displayLength the length of the JTextField
54     */
55    public StringDataComponent(String name, String attribute, int displayLength) {
45          _name = name;
46          _attribute = attribute;
47 <        _displayLength = displayLength;
59 <        _item = new JTextField("", _displayLength);
47 >        _item = new JTextField("", DEFAULT_TEXT_LENGTH);
48          _item.setEditable(false);
49          _label = new JLabel(_name + ": ");
50          _label.setHorizontalAlignment(JLabel.RIGHT);
51          setLayout(new GridLayout(1, 2));
52 +        _item.setText("-uninitialised-");
53          add(_label);
54          add(_item);
55      }
# Line 68 | Line 57 | public class StringDataComponent extends VisibleDataCo
57   //---PUBLIC METHODS---
58  
59      /**
60 +     * This run method updates any Swing components
61 +     * The setValue() method adds this component
62 +     * to the Swing Event Dispatching Queue to
63 +     * run this method.
64 +     */
65 +    public void run() {
66 +        _item.setText(_cache);
67 +    }
68 +    
69 +    /**
70       * Overrides the {@link java.lang.Object#toString() Object.toString()}
71       * method to provide clean logging (every class should have this).
72       *
# Line 84 | Line 83 | public class StringDataComponent extends VisibleDataCo
83      /**
84       * This takes the String value of the parameter that this component
85       * is monitoring direct from the packet, it then performs all
86 <     * approriate conversions and displays the data.
86 >     * approriate conversions and adds this class to the Swing Event
87 >     * Dispatching queue.
88       *
89       * @param value the value for this data component
90       * @throws DataFormatException if there was a problem converting the data for display
# Line 93 | Line 93 | public class StringDataComponent extends VisibleDataCo
93          try {
94              if(!_cache.equals(value)) {
95                  _cache = value;
96 <                _item.setText(value);
96 >                SwingUtilities.invokeLater(this);
97              }
98          } catch (Exception e) {
99              throw new DataFormatException(value + " is an invalid data type for " + toString());
100          }
101 <    }        
101 >    }
102 >    
103 >    /**
104 >     * Returns the string showing the packet
105 >     * attribute that the component is looking after
106 >     *
107 >     * @return the packet reference
108 >     */
109 >    public String getPacketAttribute() {
110 >        return _attribute;
111 >    }
112 >    
113 >    /**
114 >     * Returns the string showing the packet
115 >     * data that the component is looking after
116 >     *
117 >     * @return the packet reference
118 >     */
119 >    public String getValue() {
120 >        return _cache;
121 >    }
122  
123   //---ATTRIBUTES---
124  
125      /**
126       * The friendly name of this component
127       */
128 <    private String _name;
128 >    protected String _name;
129      
130      /**
131       * The attribute that this component is concerned with
132       */
133 <    private String _attribute;
133 >    protected String _attribute;
134  
135      /**
136       * The friendly label for this component
# Line 135 | Line 155 | public class StringDataComponent extends VisibleDataCo
155  
156   //---STATIC ATTRIBUTES---
157  
158 < }
158 > }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines