博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
J2ME学习笔记(4)--List类的学习
阅读量:4031 次
发布时间:2019-05-24

本文共 3003 字,大约阅读时间需要 10 分钟。

 J2ME学习笔记(4)--List类的学习

  List类在用户显示屏幕上实现了一个选项列表,它实现了Choice接口(Item类的子类Choice也实现该接口)。

  List类的构造方法有两种形式,一种是 List(Stirng title, int listTpye)

        另一种是List(String title, int listTpye, String[] stringElements, Image[] imageElements)

       构造方法定义的listType 在List类中定义了从Choice接口中继承的3个int 类型的字段:

      EXCLUSIVE:用户在所有选项中只能选择一项,用户选择一个选项时,前面选择的将被取消,焦点转移到当前选择的选项上,在选择或取消选择是不会触分事件。

 MULTIPLE:选择操作会固定焦点元素的选择状态,应用程序不会获得通知,这种类似于复选框,用户可以选择0或多个元素,选择动作不会触发事件。

 IMPLICIT:与前面两种不同,对于这种类型的List ,如果设置了CommandListener,选择操用会立即被通知到应用程序。在这个List的作何CommandListener被调用之前,获得焦点的元素将被选择,SELECT_COMMAND 是用于作事件通知的固有参数。

 EXCLUSIVE 和MULTIPL类型的List还必须注册到少一个Command,并与一个事件监听连接起来,使用方法和其他的Displayable类相似。

                     

List类中的常用方法
int append(String strItem, Image image) 增加一个元素到List
void delete(int elementum) 删除由elementum所指定的元至素
int getSelectFlags(boolean[] selectedArray) 查询list元素中的状态以布尔数组的形式返回
Boolean isSelected(int index) 返回索引号为index的元素是否被选
void setSelectFlags(boolean[] selectedArray) 设置list中所有的选择状态
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     

一个简单的例子

package demo;

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
/*
* List类的例子(三种类型EXCLUSIVE MULTIPLE IMPLICIT)
*/
public class ListExample  extends MIDlet implements CommandListener
{
 private Command exitCommand;
 private Command backCommand;
 private List mainList;
 private List exclusiveList;
 private List multipleList;
 private List implicitList;
 private Display display;

 public ListExample()

 {
  display = Display.getDisplay(this);
  exitCommand = new Command("退出", Command.EXIT, 1);
  backCommand = new Command("后退", Command.BACK, 1);
  String[] strArray1 = {
   "EXCLUSIVE",
   "MULTIPLE",
   "IMPLICIT"
  };
  String[] strArray2 = {
   "",
   "",
   ""
  };
        /*
  * 创建不同类型的List对象
  */
  
        mainList = new List("选择类型", Choice.IMPLICIT, strArray1, null);
  mainList.addCommand(exitCommand);
  mainList.setCommandListener(this);

  exclusiveList = new List("EXCLUSIVE", Choice.EXCLUSIVE ,strArray2, null);

  exclusiveList.addCommand(exitCommand);
  exclusiveList.addCommand(backCommand);
  exclusiveList.setCommandListener(this);

  multipleList = new List("MULTIPLE", Choice.MULTIPLE ,strArray2, null);

  multipleList.addCommand(exitCommand);
  multipleList.addCommand(backCommand);
  multipleList.setCommandListener(this);

  implicitList = new List("IMPLICIT", Choice.IMPLICIT, strArray2, null);

  implicitList.addCommand(exitCommand);
  implicitList.addCommand(backCommand);
  implicitList.setCommandListener(this);
 }

 public void startApp()

 {
  display.setCurrent(mainList);
 }

 public void pauseApp()

 {
 }

 public void destroyApp(boolean condition)

 {

 }

 public void commandAction(Command command , Displayable displayable)

 {
  /*因为mainList与implicitList都是同类型的(IMPLICIT)所以只做mainList的SELECT_COMMAND的处理*/
  if(displayable.equals(mainList))
  {
   if(command == List.SELECT_COMMAND)
   {
    switch(((List)displayable).getSelectedIndex())
    {
     case 0:
      display.setCurrent(exclusiveList);
      break;
     case 1:
      display.setCurrent(multipleList);
      break;
     case 2:
      display.setCurrent(implicitList);
      break;
    }
   }
  }
  else
  {
   if( command == backCommand)
   {
    display.setCurrent(mainList);
   }
  }

  if( command == exitCommand)

  {
   destroyApp(false);
   notifyDestroyed();
  }
 }

}

转载地址:http://jymbi.baihongyu.com/

你可能感兴趣的文章
VC++ MFC SQL ADO数据库访问技术使用的基本步骤及方法
查看>>
VUE-Vue.js之$refs,父组件访问、修改子组件中 的数据
查看>>
Vue-子组件改变父级组件的信息
查看>>
Python自动化之pytest常用插件
查看>>
Python自动化之pytest框架使用详解
查看>>
【正则表达式】以个人的理解帮助大家认识正则表达式
查看>>
性能调优之iostat命令详解
查看>>
性能调优之iftop命令详解
查看>>
非关系型数据库(nosql)介绍
查看>>
移动端自动化测试-Windows-Android-Appium环境搭建
查看>>
Xpath使用方法
查看>>
移动端自动化测试-Mac-IOS-Appium环境搭建
查看>>
Selenium之前世今生
查看>>
Selenium-WebDriverApi接口详解
查看>>
Selenium-ActionChains Api接口详解
查看>>
Selenium-Switch与SelectApi接口详解
查看>>
Selenium-Css Selector使用方法
查看>>
Linux常用统计命令之wc
查看>>
测试必会之 Linux 三剑客之 sed
查看>>
Socket请求XML客户端程序
查看>>