CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2ME

有关List的一个简单问题!!!!

楼主lvyuetian(我的一生)2006-05-01 19:45:39 在 Java / J2ME 提问

下午按书写的,弄了一个小程序来学习List  
  但是,出现了一个错误,在类ListDemoextends下面有个错误提示:  
  The   type   ListDemoextends   must   implement   the   inherited   abstract   method   CommandListener.  
    commandAction(Command,   Displayable)  
  但是,我已经写了commandAction啊.求高人解答.非常感谢!  
  附原码:  
  import   java.io.IOException;  
   
  import   javax.microedition.midlet.MIDlet;  
  import   javax.microedition.lcdui.*;  
   
  public   class   ListDemoextends   extends   MIDlet   implements   CommandListener{  
   
  private   final   static   Command   CMD_EXIT   =   new   Command("Exit",Command.EXIT,1);  
  private   final   static   Command   CMD_BACK   =   new   Command("Back",Command.BACK,1);  
  private   Display   display;  
  private   List   mainList;  
  private   List   exclusiveList;  
  private   List   implicitList;  
  private   List   multipleList;  
   
  //private   boolean   firstTime;  
   
  public   ListDemoextends()   {  
  display   =   Display.getDisplay(this);  
   
  String[]   stringArray   =   {"Option   A","Option   B","Option   C","Option   D"};  
  Image[]   imageArray   =   null;  
   
  exclusiveList   =   new   List("Exclusive",Choice.EXCLUSIVE,stringArray,imageArray);  
  exclusiveList.addCommand(CMD_BACK);  
  exclusiveList.addCommand(CMD_EXIT);  
  exclusiveList.setCommandListener(this);  
   
  implicitList   =   new   List("Implicit",Choice.IMPLICIT,stringArray,imageArray);  
  implicitList.addCommand(CMD_BACK);  
  implicitList.addCommand(CMD_EXIT);  
  implicitList.setCommandListener(this);  
   
  multipleList   =   new   List("Multiple",Choice.MULTIPLE,stringArray,imageArray);  
  multipleList.addCommand(CMD_BACK);  
  multipleList.addCommand(CMD_EXIT);  
  multipleList.setCommandListener(this);  
   
  //firstTime   =   true;  
  }  
   
  protected   void   startApp(){  
  Image[]   imageArray   =   null;  
   
  try{  
  Image   icon   =   Image.createImage("/png/SV-262e1.png");  
   
  imageArray   =   new   Image[]{icon,icon,icon};  
  }catch(IOException   err){  
  System.out.println("Erro   in   Loading!");  
  }  
   
  String[]   stringArray   =   {"Exclusive","Implicit","Multiple"};  
   
  mainList   =   new   List("Choose   type",Choice.IMPLICIT,stringArray,imageArray);  
  mainList.addCommand(CMD_EXIT);  
  mainList.setCommandListener(this);  
  }  
   
  protected   void   pauseApp()   {  
  //   TODO   Auto-generated   method   stub  
   
  }  
   
  protected   void   destroyApp(boolean   arg0){  
  //   TODO   Auto-generated   method   stub  
   
  }  
   
  protected   void   CommandAction(Command   c,   Displayable   d){  
  if(d.equals(mainList)){  
  if(c   ==   List.SELECT_COMMAND){  
  switch(((List)d).getSelectedIndex()){  
  case   0:  
  display.setCurrent(exclusiveList);  
  break;  
   
  case   1:  
  display.setCurrent(implicitList);  
  break;  
   
  case   2:  
  display.setCurrent(multipleList);  
  break;  
  }  
  }  
  }else{  
  if(c   ==   CMD_BACK){  
  display.setCurrent(mainList);  
  }  
  }  
   
  if(c   ==   CMD_EXIT){  
  destroyApp(false);  
  notifyDestroyed();  
  }  
  }  
   
  } 问题点数:20、回复次数:8Top

1 楼k7sem(【Conch fish】I love qing qing.)回复于 2006-05-01 19:50:29 得分 0

commandAction()     这个方法首字母是小写的。   仔细看看APITop

2 楼lvyuetian(我的一生)回复于 2006-05-01 19:57:14 得分 0

嘻嘻,是我大意了,不过,我将CommandAction改为commandAction后,原来的错误没有了,但,又出现在commandAction下出现在另一个错误:  
  Cannot   reduce   the   visibility   of   the   inherited   method   from   CommandListener  
   
  再次求助!!!Top

3 楼k7sem(【Conch fish】I love qing qing.)回复于 2006-05-01 20:03:58 得分 20

public   void   commandAction()       前面是public的。试一下。Top

4 楼lvyuetian(我的一生)回复于 2006-05-01 20:20:25 得分 0

改为public,表面上没有错误了,但运行起来,非但没有能够达成希望的效果,反而提示:  
  Warning:   Running   JAM,   Ignoring   all   other   options   (but   "-Xheapsize",   and   OTA   flags   if   provided)  
  正在通过存储根   DefaultColorPhone   来运行    
  **   Error   installing   suite   (39):   The   JAD   matches   a   version   of   a   suite   already   installed.  
  Execution   completed.  
  247550   bytecodes   executed  
  2   thread   switches  
  738   classes   in   the   system   (including   system   classes)  
  1524   dynamic   objects   allocated   (64160   bytes)  
  1   garbage   collections   (0   bytes   collected)  
  Top

5 楼lvyuetian(我的一生)回复于 2006-05-01 20:25:01 得分 0

是不是Image   icon   =   Image.createImage("/png/SV-262e1.png");这句有问题啊,为什么将路径改为"Image   icon   =   Image.createImage("\png\SV-262e1.png");"就会被划红波浪线,路径不是用"\"吗?我的SV-262e1.png文件,存在.\png文件夹下,应该不会有错吧,请k7sem多多指教!非常感谢!Top

6 楼k7sem(【Conch fish】I love qing qing.)回复于 2006-05-01 20:27:47 得分 0

在startApp()   的最后加上   display.setCurrent(mainList);  
  Top

7 楼lvyuetian(我的一生)回复于 2006-05-01 20:50:14 得分 0

我真的是太粗心了!  
  程序运行,抛出Erro   in   Loading!,是catch抛出的,说明载入PNG图片时错误.如果图片不是这么载入的,那么正确的载入方法应该是什么呢?Top

8 楼k7sem(【Conch fish】I love qing qing.)回复于 2006-05-01 21:15:05 得分 0

Image   img;  
  try  
  {  
          img   =   Image.createImage("/img.png");  
  }catch(Exception   e)  
  {  
        e.printStackTrace();  
        System.out.println("Load   image   error");  
  }Top

相关问题

关键词

得分解答快速导航

  • 帖主:lvyuetian
  • k7sem

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo