TextBoxpublic class TextBox extends Screen The TextBox class is a Screen that allows
the user to enter and edit
text.
A TextBox has a maximum size, which is the maximum
number of characters
that can be stored in the object at any time (its capacity). This limit is
enforced when the TextBox instance is constructed,
when the user is editing text within the TextBox , as well as
when the application program calls methods on the
TextBox that modify its
contents. The maximum size is the maximum stored capacity and is unrelated
to the number of characters that may be displayed at any given time.
The number of characters displayed and their arrangement into rows and
columns are determined by the device.
The implementation may place a boundary on the maximum size, and the
maximum size actually assigned may be smaller than the application had
requested. The value actually assigned will be reflected in the value
returned by {@link #getMaxSize() getMaxSize()}. A defensively-written
application should compare this value to the maximum size requested and be
prepared to handle cases where they differ.
The text contained within a TextBox may be more
than can be displayed at
one time. If this is the case, the implementation will let the user scroll
to view and edit any part of the text. This scrolling occurs transparently
to the application.
If the constraints are set to {@link TextField#ANY}
The text may contain line breaks.
The display of the text must break accordingly and the user must be
able to enter line break characters.
TextBox has the concept of
input constraints that is identical to
TextField . The constraints parameters of
methods within the
TextBox class use constants defined in the {@link
TextField TextField}
class. See the description of
input constraints
in the TextField class for the definition of these
constants. TextBox also has the same notions as
TextField of the actual contents and the
displayed contents, described in the same section.
TextBox also has the concept of input
modes that is identical
to TextField . See the description of input
modes in the TextField class for more details.
|
Fields Summary |
---|
TextField | textFieldtext field object to put on the form | FormLF | textBoxLFLook & feel object associated with this TextBox |
Constructors Summary |
---|
public TextBox(String title, String text, int maxSize, int constraints)Creates a new TextBox object with the given title
string, initial
contents, maximum size in characters, and constraints.
If the text parameter is null , the
TextBox is created empty.
The maxSize parameter must be greater than zero.
An IllegalArgumentException is thrown if the
length of the initial contents string exceeds maxSize .
However,
the implementation may assign a maximum size smaller than the
application had requested. If this occurs, and if the length of the
contents exceeds the newly assigned maximum size, the contents are
truncated from the end in order to fit, and no exception is thrown.
super(title);
synchronized (Display.LCDUILock) {
textField = new TextField(null, text, maxSize, constraints, true);
textField.lSetOwner(this);
displayableLF = textBoxLF = LFFactory.getFactory().getTextBoxFormLF(this);
}
|
Methods Summary |
---|
public void | delete(int offset, int length)Deletes characters from the TextBox .
The offset and length parameters must
specify a valid range of characters within
the contents of the TextBox .
The offset parameter must be within the
range [0..(size())] , inclusive.
The length parameter
must be a non-negative integer such that
(offset + length) <= size() .
textField.delete(offset, length);
| public int | getCaretPosition()Gets the current input position. For some UIs this may block and ask
the user for the intended caret position, and on other UIs this may
simply return the current caret position.
// returns a value relative to the flat input text
return textField.getCaretPosition();
| public int | getChars(char[] data)Copies the contents of the TextBox into a
character array starting at
index zero. Array elements beyond the characters copied are left
unchanged.
return textField.getChars(data);
| public int | getConstraints()Gets the current input constraints of the TextBox .
return textField.getConstraints();
| public int | getMaxSize()Returns the maximum size (number of characters) that can be
stored in this TextBox .
return textField.getMaxSize();
| public java.lang.String | getString()Gets the contents of the TextBox as a string value.
return textField.getString();
| public void | insert(java.lang.String src, int position)Inserts a string into the contents of the TextBox .
The string is
inserted just prior to the character indicated by the
position parameter, where zero specifies the first
character of the contents of the TextBox . If
position is
less than or equal to zero, the insertion occurs at the beginning of
the contents, thus effecting a prepend operation. If
position is greater than or equal to the current size of
the contents, the insertion occurs immediately after the end of the
contents, thus effecting an append operation. For example,
text.insert(s, text.size()) always appends the string
s to the current contents.
The current size of the contents is increased by the number of
inserted characters. The resulting string must fit within the current
maximum capacity.
If the application needs to simulate typing of characters it can
determining the location of the current insertion point
("caret")
using the with {@link #getCaretPosition() getCaretPosition()} method.
For example,
text.insert(s, text.getCaretPosition()) inserts the string
s at the current caret position.
textField.insert(src, position);
| public void | insert(char[] data, int offset, int length, int position)Inserts a subrange of an array of characters into the contents of
the TextBox . The offset and
length parameters indicate the subrange of
the data array to be used for insertion. Behavior is otherwise
identical to {@link #insert(String, int) insert(String, int)}.
The offset and length parameters must
specify a valid range of characters within
the character array data .
The offset parameter must be within the
range [0..(data.length)] , inclusive.
The length parameter
must be a non-negative integer such that
(offset + length) <= data.length .
textField.insert(data, offset, length, position);
| public void | setChars(char[] data, int offset, int length)Sets the contents of the TextBox from a character
array, replacing the
previous contents. Characters are copied from the region of the
data array
starting at array index offset and running for
length characters.
If the data array is null , the TextBox
is set to be empty and the other parameters are ignored.
The offset and length parameters must
specify a valid range of characters within
the character array data .
The offset parameter must be within the
range [0..(data.length)] , inclusive.
The length parameter
must be a non-negative integer such that
(offset + length) <= data.length .
textField.setChars(data, offset, length);
| public void | setConstraints(int constraints)Sets the input constraints of the TextBox . If the
current contents
of the TextBox do not match the new constraints,
the contents are
set to empty.
textField.setConstraints(constraints);
| public void | setInitialInputMode(java.lang.String characterSubset)Sets a hint to the implementation as to the input mode that should be
used when the user initiates editing of this
TextBox . The
characterSubset parameter names a subset of Unicode
characters that is used by the implementation to choose an initial
input mode. If null is passed, the implementation should
choose a default input mode.
See Input Modes for a full
explanation of input modes.
textField.setInitialInputMode(characterSubset);
| public int | setMaxSize(int maxSize)Sets the maximum size (number of characters) that can be
contained in this
TextBox . If the current contents of the
TextBox are larger than
maxSize , the contents are truncated to fit.
return textField.setMaxSize(maxSize);
| public void | setString(java.lang.String text)Sets the contents of the TextBox as a string
value, replacing the previous contents.
textField.setString(text);
| public int | size()Gets the number of characters that are currently stored in this
TextBox .
// returns a value relative to the display text including formatting
return textField.size();
|
|