Chinaunix首页 | 论坛 | 博客
  • 博客访问: 456399
  • 博文数量: 750
  • 博客积分: 40000
  • 博客等级: 大将
  • 技术积分: 4970
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-09 12:36
文章分类

全部博文(750)

文章存档

2011年(1)

2008年(749)

我的朋友
最近访客

分类:

2008-09-09 15:19:22


  MIDP API 尽管维护的是一个受限的框架,但它还是提供了 UI 元素的完整集合。以下是最重要的 UI 元素中的一些:
  
  Alert 用于在屏幕上向用户显示关于异常情况或错误的信息。
  
  Choice 用于实现从既定数量的选项中进行选择。
  
  ChoiceGroup 提供一组相关选项。
  
  Form 作为其它 UI 元素的容器。
  
  List 提供一个选项列表。
  
  StringItem 充当只显(display-only)字符串之用。
  
  TextBox 是允许用户输入和编辑文本的屏幕显示。
  
  TextField 允许用户输入和编辑文本。多个 TextField 可放到一个 Form 中。
  
  DateField 是一个可编辑的组件,用于表示日期和时间信息。DateField 可以放到 Form 中。
  
  Ticker 用于文本的可滚动显示。
  
  一个样本应用程序:电话日历
  J2ME 的著名特色之一是它在受限环境中的日期处理功能。J2ME 提供的 DateField UI 元素是一个可编辑的组件,该组件用于表示日历信息(即日期和时间)。在这一部分中,我们将使用 DateField 和 Date 函数来开发一个 J2ME 应用程序,这个应用程序用于在移动电话 UI 上显示一个滚动日历。
  
  // Import of API classes
  import javax.microedition.midlet.*;
  import javax.microedition.lcdui.*;
  import java.util.*;
  
  //A first MIDlet with simple text and a few commands.
  public class PhoneCalendar extends MIDlet
  implements CommandListener, ItemStateListener {
  
  //The commands
  private Command exitCommand;
  
  //The display for this MIDlet
  private Display display;
  
  // Display items e.g Form and DateField
  Form displayForm;
  DateField date;
  
  public PhoneCalendar() {
   display = Display.getDisplay(this);
  exitCommand = new Command("Exit", Command.SCREEN, 1);
   date = new DateField("Select to date", DateField.DATE);
  
  }
  
  // Start the MIDlet by creating the Form and
  // associating the exit command and listener.
  public void startApp() {
  displayForm = new Form("Quick Calendar");
   displayForm.append(date);
   displayForm.addCommand(exitCommand);
  displayForm.setCommandListener(this);
  displayForm.setItemStateListener(this);
  display.setCurrent(displayForm);
  }
  
  public void itemStateChanged(Item item)
  {
  // Get the values from changed item
  }
  
  // Pause is a no-op when there is no background
  // activities or record stores to be closed.
  public void pauseApp() { }
  
  // Destroy must cleanup everything not handled
  // by the garbage collector.
  public void destroyApp (boolean unconditional) { }
  
  // Respond to commands. Here we are only implementing
  // the exit command. In the exit command, cleanup and
  // notify that the MIDlet has been destroyed.
  public void commandAction (
  Command c, Displayable s) {
  if (c == exitCommand) {
  destroyApp(false);
   notifyDestroyed();
  }
  }
  }
【责编:admin】

--------------------next---------------------

阅读(149) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~