TextBox
TextBox是一个全屏的文字编辑对象,里面的文字会自动换行。
示例:
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class ExampleTextbox extends MIDlet {
Display display = Display.getDisplay(this);
public void startApp() {
// TextBox(title, text, size, contrains)
TextBox textbox = new TextBox("TextBox Example", "This is an example of a TextBox./n"
+"It has several lines of text./n"
+"/n"
+"Lines that do not fit on the screen will be divided into two or more lines.", 255, 0);
display.setCurrent(textbox);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
}
说明:用TextBox(title, text, size, contrains)构造方法构造了一个TextBox对象,然后在屏幕上显示。
注意:
1. 不同的手机会有不同的字数限制;
2. SymbianS60会自动支持复制粘贴;
在不同的输入模式中的可用的输入形式:
1.ANY 无限制的编辑方式,支持所有输入模式,支持联想输入;
2.URL,EMALLADR 在地址输入模式中使用,确认键不能使用(?),不支持自动变换字母大小写和联想输入法;
3.PHONENUMBER 在电话号码输入中输入(标准数字模式),不支持联想输入;
4.NUMERIC 基础数字输入,不支持联想输入,支持0~9和负号输入;
5.DECIMAL 只支持小数分隔符(.,)符号(-)小数数字输入。
输入模式的不同限制:
1. PASSWORD 支持限制:ALL 输入后字符会自动变成*号,不支持大小写自动变换和联想输入法;
2. UNEDITABLE 支持限制:ALL 文字内容不可修改
3. INITIAL_CAPS_SENTENCE 支持限制:ANY
4. INITIAL_CAPS_WORD 这个不支持
5. NONE_PREDICTION or SENSITIVE 支持限制:ANY 不可使用联想输入
Pob-up TextBox
从java Runtime2.1开始,TextBox的显示就变得和Pop-up TextBox一样,这将减少外观和感觉上的问题,因为它不必全屏,所以不会完全盖住后面的canvas。
我在s60 5th上并没有实现上面的功能。
Form
Form也是一个全屏对象,但是它能包含许多不同的控件,比如滚动条,弹出List,文字区域,它支持复杂的数据编辑和文字输入。
所有的form元素都从Item类中继承,Form占据主面板,如果包含组件过多,它能够通过滚动条竖直滚动。如果超过边界,文字自动换行,图片自动裁剪。Form中的Items会从上到下,从左到右自动排列,当用户选择到某个Item时,它将获取焦点,有些Item不能编辑。 所有的Item都包含一个Label,默认为null,在界面显示时,label显示在item的下方。
所有的编辑框都显示在一行,并且可编辑的Item都可获得焦点,不可编辑的Item如StringItem和ImagItem如果给它设置了command并且注册了ItemCommandListener的话,也能获取焦点。
Form能够包含的Item:
ChoiceGroup:选框,CuntomItem:自定义控件,DateField:日期区域,GateField:进度条,
ImageItem:图像,Spacer:空白区 StringItem:字符串 TextField:文字区域