Form 繼承 Screen,可包含任意 Item 子類元件,垂直排列 (類清單),支援動態增刪改。
Form form = new Form("Choose an Item"); // 空表單
Form form2 = new Form("Title", new Item[] { item1, item2 }); // 帶初始項目
常用方法:append(Image/String/Item), delete(index), get(index), insert(index, Item), set(index, Item), size()。
所有可放入 Form/Alert 的元件基類,提供 getLabel()/setLabel(String)。
Choice 介面,類似 List 但放入 Form。EXCLUSIVE (單選)、MULTIPLE (多選)。**無 IMPLICIT**。ChoiceGroup(label, type) 或帶初始字串/圖示陣列。List:append/insert/delete/set/getString/getImage, getSelectedIndex/isSelected/setSelectedIndex, getSelectedFlags/setSelectedFlags。form.append(choiceGroup)。DATE, TIME, DATE_TIME。DateField(label, mode) 或指定 TimeZone。getDate()/setDate(Date), getInputMode()/setInputMode(), toString()。Gauge(label, interactive, maxValue, initialValue)。interactive=true:用戶可編輯 (如音量控制);false:唯讀進度顯示。getValue()/setValue(), getMaxValue()/setMaxValue()。StringItem(label, text)。TextBox 但放入 Form。TextField(label, text, maxSize, constraints)。TextBox (ANY, EMAILADDR, NUMBER, PASSWD, PHONENUMBER, URL)。ImageItem(label, image, layout, altText)。layout 控制對齊 (LAYOUT_LEFT/CENTER/RIGHT/NEWLINE_BEFORE/AFTER...)。Form form = new Form("User Info");
form.append(new StringItem("Name:", "John Doe"));
form.append(new TextField("Email", "", 50, TextField.EMAILADDR));
form.append(new DateField("Birthday", DateField.DATE));
form.append(new ChoiceGroup("Gender", Choice.EXCLUSIVE,
new String[]{"Male", "Female"}, null));
form.append(new Gauge("Volume", true, 100, 50));
display.setCurrent(form);