`

J2ME学习笔记:TextBox与List综合应用,getSelectedIndex()和display.setCurrent(tb)用法

阅读更多

此前已经讲解了TextBox与List的应用,那么现在将有一个综合它们两个的程序,功能是选择了相应的list选项就能把当前的屏幕切换成对应的TextBox基本文本屏幕,其实用到的切换结束就是这个语句:display.setCurrent(想要实现的屏幕对象);然而怎样然按钮监听器知道你选择的是哪个候选项呢,可以用getSelectedIndex()来获得选择的选项序号:switch (((List)d).getSelectedIndex()),以下便给出源代码import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
import javax.microedition.lcdui.*;


public class ListControl extends MIDlet implements CommandListener {

private final static Command exitCommand = new Command("Exit",Command.EXIT,1);
private final static Command backCommand = new Command("back",Command.BACK,1);
private Display display;
private List mainList;
private TextBox tb;

public ListControl()
{
   display = Display.getDisplay(this);
   tb = new TextBox("Terry","9prior",15,0);
   tb.addCommand(exitCommand);
   tb.addCommand(backCommand);
   tb.setCommandListener(this);  
  
}

protected void startApp() throws MIDletStateChangeException
{
   Image[] imageArray = null;
   try{
   Image icon = Image.createImage("/1.png");
   imageArray = new Image[]{
    icon,
    icon,
    icon   
   };
   }catch (java.io.IOException err)
   {
    System.out.println("loan ...");
   }
  
   String[] stringArray = {
     "choice 1",
     "choice 2",
     "choice 3"
   };
  
   mainList = new List("katrina",Choice.IMPLICIT,stringArray,imageArray);
   mainList.addCommand(exitCommand);
   mainList.setCommandListener(this);
   display.setCurrent(mainList);
}

protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
  

}

protected void pauseApp() {
  
}

public void commandAction(Command c, Displayable d)
{
   if (d.equals(mainList)){ //用equals来判断当前display是什么
   
    if (c == List.SELECT_COMMAND){
     if (d.equals(mainList)){
      switch (((List)d).getSelectedIndex()){/*用getSelectedIndex()来获得选择的选项序号*/
     
      case 0:
       tb.setString("Text A");
       display.setCurrent(tb);
       break;
      case 1:
       tb.setString("Text B");
       display.setCurrent(tb);
       break;
      case 2:
       tb.setString("Text C");
       display.setCurrent(tb);
       break;
     
      }
     }
    
    }
   }else
    if(c == backCommand){
     display.setCurrent(mainList);
    }
  
  
}

 

}

 

分享到:
评论

相关推荐

    J2ME学习笔记 入门 学习经验

    j2me学习笔记【2】——利用Display类的isColor()方法获取设备是否支持彩色的信息 j2me学习笔记【3】——简单的在线帮助示例 j2me学习笔记【4】——Item类的学习 j2me学习笔记【5】——抛出异常处理的小例子 j2me学习...

    J2ME学习笔记 J2ME学习笔记 J2ME学习笔记

    根据提供的标题、描述、标签及部分内容,我们可以提炼出关于J2ME的学习笔记中的关键知识点,主要聚焦于Java语言的基础概念,特别是与初始化和字符串相关的部分。 ### 初始化 #### 概述 - **成员变量初始化**:所有...

    J2ME的TextBox用法

    在探讨J2ME中的`TextBox`用法时,我们不仅限于其基本功能,...以上所述的知识点涵盖了`TextBox`和`Command`的基本使用,以及如何在J2ME应用中有效地进行生命周期管理,对于初学者和有经验的开发者来说都是宝贵的资源。

    J2ME游戏编程:TP319:G899 W511.iso

    J2ME游戏编程:TP319:G899 W511.iso 随书光盘,欢迎大家下载 大家共享^A^

    J2ME学习之环境搭建

    在本文中,我们将深入探讨如何搭建J2ME(Java Micro Edition)的学习环境,特别是使用Eclipse集成开发环境(IDE)和EclipseME插件。J2ME是Java平台的一个子集,专门用于嵌入式设备和移动设备的开发,如手机、智能...

    J2ME学习笔记(2009年度)

    9. **错误处理与调试**:提供关于如何处理运行时异常和使用J2ME WTK进行应用调试的技巧。 10. **实例分析**:通过实际案例,演示如何从零开始开发一个完整的J2ME应用程序,加深理解并提升实践能力。 **适合人群** ...

    J2ME简单实现list与form页面的切换

    ### J2ME简单实现List与Form页面的切换 在Java ME(J2ME)平台下,开发者经常需要处理用户界面的交互逻辑,特别是在小型设备上(如旧式手机)。本文将详细解析一个简单的示例代码,该代码展示了如何在不同类型的...

    郭可华J2ME实战教程:ppt和对应源码

    **J2ME简介** J2ME(Java 2 Micro Edition)是Java...总之,《郭可华J2ME实战教程》是学习J2ME的宝贵资源,结合提供的源代码和幻灯片,读者可以全面地掌握J2ME开发,为未来在移动和嵌入式领域的职业发展打下坚实基础。

    郭克华 J2ME 视频教程学习笔记(终稿)(密码:123456).pdf

    ### J2ME 学习笔记综合知识点概览 #### 第一章 体系介绍与环境配置 **1.1 前言** - **背景介绍**:J2ME(Java 2 Platform, Micro Edition)是Java平台的一个版本,专门用于移动设备、嵌入式设备和消费电子产品。 ...

    j2Me 实例 笔记源码

    8. **编译与打包**:J2ME应用的开发需要使用专用的J2ME集成开发环境(IDE),如NetBeans或Eclipse,其中包含了MIDP和CLDC的SDK。源码编译为.class文件后,需要打包成JAR,再生成JAD文件,才能在目标设备上运行。 9....

    J2ME实用教程:从入门到精通的所有ppt

    9. **应用打包与部署**:学习JAR和JAD文件的制作,以及如何通过OTA(Over-The-Air)技术分发和安装应用程序。 10. **调试与优化**:掌握使用J2ME的调试工具和技巧,以及如何优化代码以提高性能和电池寿命。 教程中...

    Android-development.rar_android_game android J2ME_site:en.pudn.c

    "android_game android J2ME site:en.pudn.c"这部分标签揭示了该资源可能包含的内容,即关于Android游戏开发的知识,以及可能与J2ME(Java 2 Micro Edition)平台的迁移或转换相关的指导。 【描述】提到的“$兩小時...

    jbuilder 2006 j2me ALERT: java/lang/ClassFormatError: Bad version information.

    确认所有使用的库都是与JBuilder和JDK版本兼容的,并且已经正确导入到项目中。 4. **配置错误**:JBuilder的项目设置可能没有正确配置,特别是关于J2ME SDK和模拟器的路径。你需要检查JBuilder的配置选项,确保指向...

    J2ME超级学习笔记

    J2ME的用户界面通常使用 Lightweight User Interface Toolkit (LCDUI),包含简单组件如Label、Button、Choice和TextBox,开发者可以通过它们构建适合小屏幕的交互界面。 5. **网络编程** J2ME提供了...

    使用NetBeans开发J2ME应用程序

    **使用NetBeans开发J2ME应用程序** Java 2 Micro Edition(J2ME)是一种轻量级的Java平台,主要用于移动设备、嵌入式系统和其他有限资源的设备上开发应用程序。NetBeans IDE是一款强大的集成开发环境,它为J2ME应用...

    j2me 学习笔记

    本学习笔记旨在帮助读者理解J2ME的基础概念、架构以及如何使用它来创建功能丰富的移动应用。 **一、J2ME架构** J2ME的核心组成部分是Java ME规范,它定义了多个配置(Configurations)和框架(Profiles)。配置...

    J2ME教材:J2ME&Gaming中文版

    这个“J2ME&Gaming中文版”教材主要针对的是Java在游戏开发领域的应用,为初学者提供了学习J2ME编程的基础路径。 J2ME的架构由两部分组成:Connected Limited Device Configuration (CLDC) 和 Mobile Information ...

    J2me-listJ2me-list

    `display.setCurrent(list);`将列表设置为当前显示的内容;接下来通过`append`方法向列表中添加了五个选项;`list.addCommand(getCmd);`和`list.setCommandListener(this);`分别将命令按钮添加到列表中,并设置了该...

    开发中j2me与android的比较.pdf

    ### 开发中J2ME与Android的比较 随着移动设备技术的发展,移动应用开发成为软件工程领域中的一个重要分支。在过去的几十年里,多种移动开发平台和技术相继涌现,其中包括Java 2 Micro Edition (J2ME) 和 Android。...

Global site tag (gtag.js) - Google Analytics