上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
1.7 高级用户界面
高级用户界面同样被包含在javax.microedition.lcdui里面,由容器和组件组成。容器能够显示在屏幕上,而组件被添加到容器中。容器有4种,分别是Form、Alert、List和TextBox。
1.7.1 Alert类的使用
Alert类是Screen的直接子类,用来在设备上显示一个告警屏幕,向用户显示一个文本字符串,当然也可以包含图像和声音,基本上是一个信息对话框。当显示告警时应用程序的用户界面会失去焦点,对话框可以选择自动定时解除,或者一直保持在屏幕上让用户手动解除,对话框接触后应用程序会自动切换到下一屏幕。
1.7.2 List类的使用
List类是一个包含有选择列表的Screen子类,它的大多数行为都和ChoiceGroup类以及在Choice接口中定义的通用API一致。当一个List显示在屏幕上时,用户可以与之进行不确定的交互(例如,在选项之间滚动或者穿越),这些不确定的交互不会引起应用程序的可视事件。当触发一些Command事件时,系统会通知应用程序,对这些通知的处理在CommandAction中完成。
1.7.3 TextBox类和Form类的使用
TextBox继承了Screen类,允许用户输入并且编辑文本。
屏幕表单是通过Form类来实现的。Form本身并不提供能够与用户直接交互的用户界面,而是作为一个容器容纳其他的可视组件(Item),它们都是Item类的子类。Item类是表单组件对象通用属性或方法的一个集合。Form类提供了一个方法对表单组件进行编辑,如添加、删除等,或者获取表单组件的引用,从而直接对它的内容进行操作。
高级用户界面通过Command软键来接收事件,首先需要定义一些软键对象,并将其注册到容器中,然后监听软键事件,在commandAction()方法中处理。