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

王朝学院·作者佚名  2011-12-11
窄屏简体版  字體:   |    |    |  超大  

除了基于屏幕的组件外,你还应该把握使用表单把多个组件组织到一个屏幕上去。这一部分将讨论Form类和可以放置到表单上去的组件。

1. Form

一个表单对象是一个screen,它可以包含任意的项,包括只读的和可编辑的文本框,图像,日期域,gauge以及选项组组件。前面已提到,任何Item类的子类都可以放置到表单对象上去。Form类的构造器如下:

public Form(String title);

public Form(String title, Item[] items);

第一个构造器创建一个空的表单,仅有一个标题。第二个构造器创建一个含有标题和初始内容的表单。如,下面的程序创建一个空的表单,其标题是"Choose an Item",见图1。这是一个常规的屏幕。

图 1.一个空的form

Form form = new Form("Choose an Item");

Form对象并不使用任何布局治理器。代之的是,Form对象将象一个列表一样安排它的组件,通常是从顶到底。就象一个列表中的选项,表单中的各个项可以进行编辑,如插入,添加和删除。Form类的方法列举如下。

把一个图像加到表单的结尾,可以用:

public int append(Image img);

下面方法添加一个Item 的子类化对象到表单的结尾:

public int append(Item item);

下面方法添加一个字符串到表单的结尾:

public int append(String str);

下面方法删除表单上在给定位置的项,同时改变表单的大小:

public void delete(int itemNum);

你可以使用下面方法存取表单上的任何项,而表单内容保持不变。

public Item get(int itemNum);

下面方法在表单上插入一项,插在指定索引的前面:

public void insert(int itemNum, Item item);

下面方法替换表单上的前一项:

public int set(int itemNum, Item item);

最后,你可用下面size( )方法来查找表单上的项的当前序号:

public int size( );

可以放置到一个表单上去的GUI组件有:ChoiceGroup,DateField,Gauge,ImageItem,StringItem和TextField。所有这些都是抽象类Item 的子类。稍后,我们将看到如何把这些项放置到屏幕上去。首先让我们依次作一下介绍。

2. Item

Item抽象类用作可以放置到表单或者alert上的组件的基类。所有的Item对象都有一个标签(如有一个字符串依附到其上),这可以用下面方法存取:

public String getLabel( );

public void setLabel(String s);

该抽象类仅有这两个方法。

3. ChoiceGroup

ChoiceGroup对象描述了一组放置在表单上的可选择的选项。类似于List类,它也实现了Choice接口,而且还继续了Item抽象类。该对象可以指明选择一项,或者进行多个选择。ChoiceGroup类构造器如下:

public ChoiceGroup(String label, int choiceType);

public ChoiceGroup(String label, int choiceType,String[] stringElements, Image[] imageElements);

第一个构造器创建一个空的ChoiceGroup组件,同时指明其标签和类型。既然该类实现了接口Choice,你可能想到应该有三种选择。但是,在使用一个ChoiceGroup组件时,只有两个选项可用: EXCLUSIVE和MULTipLE。IMPLICIT类型不适用于ChoiceGroup,就象对于List组件一样。在一个表单中不需要有一个象菜单的选项域(记住EXCLUSIVE方式只答应一次选择一项;MULTIPLE方式则答应一次选择多个项)。

第二个ChoiceGroup构造器用于创建一个新的ChoiceGroup对象,同时指明其标签和类型,还有一个字符串数组和一个图像数组来设置它的初始值。

一旦你创建一个空的选择,你就可以插入,添加或替换其中的选项,就象在一个List组件上一样。而且,每一个选项有一个整数索引值来代表其在列表中的位置。第一个选项从0开始,最后一项索引值是该列表的最大长度减1。ChoiceGroup 类提供了下面方法来完成这些操作。

public int append(String stringElement, Image imageElement);

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航