Displayable

来源:互联网 发布:娃娃软件家长版 编辑:程序博客网 时间:2024/06/13 07:33
 Displayable对象可以显示在屏幕上,一个MIDlet只能有一个Display对象,但是可以有多个Displayable对象,同一时刻只有一个Displayable对象被显示在屏幕上。

                Displayable类有两个直接子类CanvasScreenCanvas封装了用户界面的低级操作,GameCanvas是它的子类;Screen包含了ListFormTextBoxAlert4个子类,是高级用户界面组件。

                                                                  使用TextBox

                TextBox允许用户输入文本信息,一般作为文本编辑器来使用,它继承于Screen类,有丰富的文本处理函数。在MIDP2.0规范中,TextField也可以用于文本输入,与TextBox类似,但是TextField经常被加到Form中使用,而TextBox作为Displayable对象一般作为独立的屏幕来使用。

创建TextBox对象:

public TextBox(String title, String text, int maxsize, int constraints)

参数titleTextBox的标题,textTextBox内初始文本,如果为nullTextBox中初始内容为空,maxsizeTextBox可以输入的最大字符数,constraints用于指定输入约束,比如只能输入09等。

设置输入法:

public void setInitialInputMode(int characterSubset)

使用该函数可以设置TextBox的初始输入法,用户可以不需要切换输入法就能够输入,characterSubset是输入法的字符集,大小写敏感,可以为null,输入法字符集通常以“UCB_”开头,此外一些字符集还有输入子集,通常以“IS_”开头,如果参数设置了无效的字符集或者输入法与输入限制有冲突,则该输入法设置无效。

文本处理:

1.文本替换:

public void setChars(char[] data, int offset, int length)

public void setString(String text)

参数data是一个字符数组,offset是要插入的内容在该数组的起始位置,length是要插入的长度,即从offset开始的长度。参数text是文本字符串。

2.  获得用户输入

public void getChars(char[] data)

public String getString()

getChars函数通过字符数组data返回用户输入,该数组不能为null,长度不能小于TextBox中的文本大小,否则会引发数组索引溢出异常。

3.插入文本

public void insert(char[] data, int offset, int length, int position)

public void insert (String text, int position)

position是要插入文本的位置,如果需要在当前位置插入,可以调用getCaretPosition来获得光标当前位置。参数data不能为null

例:String src = “A”;

    //在开始处插入文本

    textbox.insert(src, 0);

    //在最后插入文本

    int size = textbox.size();

    if (size > 0) {

        textbox.insert(src, size -1);

    }

    //或者

    textbox.setString(textbox.getString + src);

    //在当前插入文本

    int caret = textbox. getCaretPosition();

    textbox.insert(src, caret);

4.删除文本

public void delete(int offset, int length)

         参数offsetlength不能超出文本内容,否则会引发字符串索引溢出异常。
原创粉丝点击