J2ME学习笔记(5)--Form类的学习
来源:互联网 发布:西安汇知中学 编辑:程序博客网 时间:2024/05/25 01:36
Form类的学习
Form是Screen的子类,它可以包含图像,只读文本,可编辑文本,编辑日标尺,选项组以自定义项目,这些元素者是Item类的子类,亦Form类作为一个容器,可以容纳Item子类的组件。MIDP实现可处理Form的布局,元素的切换各滚动,包含在Form中的任何组件都没有任何滚动机制,而是整齐个内容一直起滚动。
Form的构造方法有两种形式。
Form(String title)//创建一个有标题的没有项目的Form对象
使用上面这个构造方法后要结合append方法或insert方法动态的插入元素
Form(Stirng title, Item[] item)//创建一个有标题有项目元素的Form对象
下面是Form类的构造方法的Demo
package demo;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class FormDemo extends MIDlet implements CommandListener
{
private Display display;
private List list;
private Form form1;
private Form form2;
private Command exit;
private Command back;
public FormDemo()
{
display = Display.getDisplay(this);
back = new Command("返回", Command.BACK, 0);
exit = new Command("退出", Command.EXIT, 1);
list = new List("表单的例子",List.IMPLICIT);
list.append("第一个表单", null);
list.append("第二个表单", null);
list.addCommand(exit);
list.setCommandListener(this);
form1 = new Form("第一个表单");//表单的第一种构造方法
form1.append("表单一:字符串一");
form1.append("表单一:字符串二");
form1.addCommand(back);
form1.setCommandListener(this);
StringItem[] str = {new StringItem("表单二:","字符串一"),new StringItem("表单二:","字符串二")};
form2 = new Form("第二个表单", str);//表单的第二个构造方法
form2.addCommand(back);
form2.setCommandListener(this);
}
public void startApp()
{
display.setCurrent(list);
}
public void pauseApp()
{
}
public void destroyApp(boolean condition)
{
}
public void commandAction(Command command, Displayable displayable)
{
if(command == List.SELECT_COMMAND)
{
switch(((List)displayable).getSelectedIndex())
{
case 0:
display.setCurrent(form1);
break;
case 1:
display.setCurrent(form2);
break;
}
}
if(command == back)
display.setCurrent(list);
if(command == exit)
{
destroyApp(false);
notifyDestroyed();
}
}
}
Form中的元素可以使用追加,删除,插入,设置等方法进行编辑,这些元素都通过其索引值引用,方法Form.size()可以返回它所包的元素数量,而Form中元素的索引值的取范围在0到Form.size()-1之间方法.append()用来把一个元素增加到Form中, insert()用来向指定元素插入新元素,delete()方法可以删除一个指定的元素,set()方法可以用新元素替换指定的元素.
一个元素互多只可以放进一个Form对象,如果应用程序打算一个已经属于某个Form的元素放进Form对象,会抛出IllegalStateException异常.
当用户与Form屏幕进行交互,并且元素间进行切换和滚动操作时不会引起应用程序的可见事件,只有当用户改变了Form中可交互元素的状态时,系统会通知应用程序,这个通知是通过调用itemStateChange()方法完成.当然事件听者要实现ItemStateChageListener接口.
Form对象中的布局策略是垂直的,按列(row)进行组织,列与屏幕的宽度,空白,滚动条等是相关的,所有的列在Form中可能会有相同的宽度,在Form的高度依赖于行的数量和单行的高度,而行的高度由放置于些的items所决定,MIDP实现可能变行的高度来适应屏显示。在MIDP2.0规范中,Form中的Item可以设置布局策略,在水平方向各垂直方向结合起来分配元素项,并且对于元素项可以设置其大小
- J2ME学习笔记(5)--Form类的学习
- J2ME学习笔记(3)--Alert类的学习
- J2ME学习笔记(4)--List类的学习
- J2ME学习笔记(6)--Item类的学习
- J2ME学习笔记(2)--MIDlet程序结构的学习
- J2ME学习笔记(5)
- j2me学习笔记【4】——Item类的学习
- J2ME学习笔记(1)--MIDP用户界面设计概述的学习
- J2ME学习笔记(九)
- J2ME学习笔记
- J2ME 学习笔记1
- J2ME学习笔记
- J2ME学习笔记整理
- J2me学习笔记
- j2me学习笔记
- J2ME学习笔记(一)
- J2ME学习笔记(二)
- j2me学习笔记(一)
- 组织机构DSL之二:参考资料(ruby hacking guide )的阅读笔记
- ddd quickly 中文版译者序
- MFC实现的俄罗斯方块
- 类声明和成员函数定义的分离示例
- 3D图形芯片10年史话(转载)
- J2ME学习笔记(5)--Form类的学习
- 山东省科学院激光研究所2008校园招聘
- 让windows xp 自动登录的两种方法及脚本
- Memory Allocation in C++/C
- 对指针的认识-------------------------指针的复杂声明
- FxCop
- Visual Unit 功能
- 《COM技术内幕》FAQ
- 一种优雅的流行架构:Struts+Spring+Hibernate