NBA

Java手机软件图形界面API之Form相关API

2019-09-11 10:18:58来源:励志吧0次阅读

7. StringItem

一个StringItem对象是一个文本组件,但是它包含的文本串不能被用户编辑。不过一个StringItem可以有一个被应用程序修改的标签,而且StringItem的内容也可以被应用程序编辑。下面是它的构造器:

public StringItem(String label, String contents);

你可以容易地产生一个StringItem对象:

StringItem si = new StringItem("label", "contents");

setText()和getText( )方法用于设置和获取StringItem的内容;setLabel()和getLabel( )方法在抽象类Item中定义,,用于设置和获取StringItem的标签:

public void setText(String s);

public void setLabel(String l);

public String getText( );

public String getLabel( );

下面代码创建一个StringItem 对象并把它放置于一个表单中。之后,该表单被置为当前screen,如图10所示。

图 10.用户不能编辑一个StringItem对象的内容

Display display = display.getDisplay(this);

StringItem si = new StringItem("String item:\n", "Hello World!");

Form form = new Form("Greetings");

form.append(si);

display.setCurrent(form);

8. TextField

不象StringItem,一个TextField对象是一个可编辑的文本对象,它可以放置到表单上去。但是,同TextBox一样,一个TextField有最大长度限制(存在该对象中的最大字符数)。同样,MIDP系统部分可以在最大尺寸上限定一个边界值,这可能比应用程序要求的要小。系统指定的最大值可以用方法getMaxSize()检索到。但是,如前所述,在Sun公司的MIDP参考实现部分,方法getMaxSize( )返回应用程序所要求的尺寸。

在你的MIDlet 程序需要用户输入信息时可以使用TextField对象。一个TextField对象可以以TextField类实例的形式创建,看下面的类构造器:

public TextField(String label, String text, int maxSize, int constraints);

该可以用于创建一个新的TextField对象,在此要指定标签,初始化内容,最大字符数及constraints值。Constraints字段用于限制用户的输入。字段constraints是TextField的静态常数,它们被与TextBox一起共享使用,其值是:TextField.ANY,TextField.EMAILADDR,TextField.NUMBER,TextField.PASSWD,TextField.PHONENUMBER和TextField.URL。记住,如果你使用constraint的值不是TextField.ANY,TextField将执行一个简单的检验来确保输入的字符都是所要求的类型。

如果你想设置或者检索当前正使用TextField的constraints值,可以用下面的方法:

public int getConstraints( );

public void setConstrants(int c);

MIDP系统指定的最大尺寸可以用方法getMaxSize( )检索到,并可以用setMaxSize( )来重置。

public int getMaxSize( );

public void setMaxSize(int size);

你可以用方法 setString( )或getString( )来设置或者检索TextField中所有的文本内容:

public String getString( );

public void setString(String s);

另外,如果你想查看当前输入的字符数,可以用size( )方法,它返回一个整数值:

public int size( );

用来删除,插入和替换当前文本的方法同TextBox:

public void delete(int offset, int length);

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

public void insert(String src, int position);

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

最后,如果你想找到插入点的位置,可以用下面方法:

public int getCaretPosition( );

下面代码显示该组件的作用。它用两个文本域(一个对应登录ID,一个对应口令字)创建一个登录表单。程序运行后,你就可以输入你的用户名和口令,如图11.

图 11.TextField的例子

Display display = Display.getDisplay(this);

TextField userName = new TextField("LoginID:", "", 10,TextField.ANY);

TextField password = new TextField("Password:", "", 10,TextField.PASSWORD);

Form form = new Form("Sign in");

form.append(userName);

form.append(password);

display.setCurrent(form); 查看本文来源

小孩脾虚如何调理
5个月宝宝咳嗽怎么办
热淋清颗粒什么时候吃好
丁桂薏芽健脾凝胶使用方法
分享到: