📄 textbox.java
字号:
//#condition polish.usePolishGui// generated by de.enough.doc2java.Doc2Java (www.enough.de) on Sat Dec 06 15:06:45 CET 2003/* * Copyright (c) 2004-2005 Robert Virkus / Enough Software * * This file is part of J2ME Polish. * * J2ME Polish is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * J2ME Polish is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with J2ME Polish; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * Commercial licenses are also available, please * refer to the accompanying LICENSE.txt or visit * http://www.j2mepolish.org for details. */package de.enough.polish.ui;/** * The <code>TextBox</code> class is a <code>Screen</code> that allows the user to enter and edit text. * * <p>A <code>TextBox</code> 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 <code>TextBox</code> instance is constructed, * when the user is editing text within the <code>TextBox</code>, as well as * when the application program calls methods on the * <code>TextBox</code> 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. </p> * * <p>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 <A HREF="../../../javax/microedition/lcdui/TextBox.html#getMaxSize()"><CODE>getMaxSize()</CODE></A>. A defensively-written * application should compare this value to the maximum size requested and be * prepared to handle cases where they differ.</p> * * <p>The text contained within a <code>TextBox</code> 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. </p> * * <p>If the constraints are set to <A HREF="../../../javax/microedition/lcdui/TextField.html#ANY"><CODE>TextField.ANY</CODE></A> * The text may contain <A HREF="Form.html#linebreak">line breaks</A>. * The display of the text must break accordingly and the user must be * able to enter line break characters. </p> * * <p><code>TextBox</code> has the concept of * <em>input constraints</em> that is identical to * <code>TextField</code>. The <code>constraints</code> parameters of * methods within the * <code>TextBox</code> class use constants defined in the <A HREF="../../../javax/microedition/lcdui/TextField.html"><CODE>TextField</CODE></A> * class. See the description of * <a href="TextField.html#constraints">input constraints</a> * in the <code>TextField</code> class for the definition of these * constants. <code>TextBox</code> also has the same notions as * <code>TextField</code> of the <em>actual contents</em> and the * <em>displayed contents</em>, described in the same section. * </p> * * <p><code>TextBox</code> also has the concept of <em>input * modes</em> that is identical * to <code>TextField</code>. See the description of <a * href="TextField.html#modes">input * modes</a> in the <code>TextField</code> class for more details. * <HR> * * * @since MIDP 1.0 */public class TextBox extends Screen{ protected TextField textField; /** * Creates a new <code>TextBox</code> object with the given title * string, initial * contents, maximum size in characters, and constraints. * If the text parameter is <code>null</code>, the * <code>TextBox</code> is created empty. * The <code>maxSize</code> parameter must be greater than zero. * An <code>IllegalArgumentException</code> is thrown if the * length of the initial contents string exceeds <code>maxSize</code>. * 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. * * @param title the title text to be shown with the display * @param text the initial contents of the text editing area, null may be used to indicate no initial content * @param maxSize the maximum capacity in characters. The implementation may limit boundary maximum capacity and the actually assigned capacity may me smaller than requested. A defensive application will test the actually given capacity with getMaxSize(). * @param constraints see input constraints * @throws IllegalArgumentException if maxSize is zero or less * or if the constraints parameter is invalid * or if text is illegal for the specified constraints * or if the length of the string exceeds the requested maximum capacity */ public TextBox( String title, String text, int maxSize, int constraints) { this( title, text, maxSize, constraints, null ); } /** * Creates a new <code>TextBox</code> object with the given title * string, initial * contents, maximum size in characters, and constraints. * If the text parameter is <code>null</code>, the * <code>TextBox</code> is created empty. * The <code>maxSize</code> parameter must be greater than zero. * An <code>IllegalArgumentException</code> is thrown if the * length of the initial contents string exceeds <code>maxSize</code>. * 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. * * @param title the title text to be shown with the display * @param text the initial contents of the text editing area, null may be used to indicate no initial content * @param maxSize the maximum capacity in characters. The implementation may limit boundary maximum capacity and the actually assigned capacity may me smaller than requested. A defensive application will test the actually given capacity with getMaxSize(). * @param constraints see input constraints * @param style the style for this screen * @throws IllegalArgumentException if maxSize is zero or less * or if the constraints parameter is invalid * or if text is illegal for the specified constraints * or if the length of the string exceeds the requested maximum capacity */ public TextBox( String title, String text, int maxSize, int constraints, Style style) { super( title, style, true ); this.textField = new TextField( null, text, maxSize, constraints, style ); if (title != null) { this.textField.title = title; } this.container.add( this.textField ); } /** * Gets the contents of the <code>TextBox</code> as a string value. * * @return the current contents * @see #setString(java.lang.String) */ public String getString() { return this.textField.getText(); } /** * Sets the contents of the <code>TextBox</code> as a string * value, replacing the previous contents. * * @param text the new value of the TextBox, or null if the TextBox is to be made empty * @throws IllegalArgumentException if text is illegal for the current input constraints * or if the text would exceed the current maximum capacity * @see #getString() */ public void setString( String text) { this.textField.setString(text); } /** * Copies the contents of the <code>TextBox</code> into a * character array starting at * index zero. Array elements beyond the characters copied are left * unchanged. * * @param data the character array to receive the value * @return the number of characters copied * @throws ArrayIndexOutOfBoundsException - if the array is too short for the contents * @throws NullPointerException - if data is null * @see #setChars(char[], int, int) */ public int getChars(char[] data) { return this.textField.getChars(data); } /** * Sets the contents of the <code>TextBox</code> from a character * array, replacing the * previous contents. Characters are copied from the region of the * <code>data</code> array * starting at array index <code>offset</code> and running for * <code>length</code> characters. * If the data array is <code>null</code>, the <code>TextBox</code> * is set to be empty and the other parameters are ignored. * * <p>The <code>offset</code> and <code>length</code> parameters must * specify a valid range of characters within * the character array <code>data</code>. * The <code>offset</code> parameter must be within the * range <code>[0..(data.length)]</code>, inclusive. * The <code>length</code> parameter * must be a non-negative integer such that * <code>(offset + length) <= data.length</code>.</p>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -