Java手机软件图形界面API之screen相关API(二)

2014-11-23 21:51:58 · 作者: · 浏览: 8
号码,但又想隐藏输入数据,可以如下创建对象:

TextBox t=new TextBox("Tel","",12,TextField.PHONENUMBER|TextField.PASSWD);
  如果你想检索当前活动的TextBox的约束值,可以如下:

public int getConstraints( );
public void setConstrants(int c);

  另外应该指出的是,一个文本框有一个容量限定(即最大字符数)。但是,每一个MIDP系统实现都将对该最大容量设置一个边界值,它可能比应用程序要求的尺寸要小。系统允许的最大尺寸可以用方法getMaxSize( )来检索,也可应用方法setMaxSize( )来复位。

public int getMaxSize( );
public void setMaxSize(int size);

  一个书写良好的MIDP应用程序应该总是比较它要求的大小和当前的最大值。

  在当前MIDP的来自于Sun Microsystems的参考实现中,getMaxSize( )方法总是返回MIDlet要求的尺寸。但是不要因此而放弃比较的习惯。
你还可以通过使用方法setString( )和getString( )来设置或者检索TextBox对象的完整的文本:

public String getString( );
public void setString(String s);

  另外,如果你要知道输入的字符数,可以用方法size( ):

public int size( );
  你还可以使用下列方法对文本框进行删除,插入,替换等等:

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( );
  下面的小例创建一个文本框,标签为"TextBox",初始文本值为"This is a text box",最大尺寸为20个字符,可以输入任何字符。

TextBox tb = new TextBox("TextBox", "This is a textbox", 20, TextField.ANY);
Display display = Display.getDisplay(this);
display.setCurrent(tb);

  如果你写一个完整的MIDlet程序并在模拟器中运行,会看到如图 4所示的效果。注意,如果要显示的文本长于一屏的,系统将允许用户卷动查看并进行编辑-具体依赖于系统的实现。


图 4.display和screen之间的关系<