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

运行时发现此异常:IllegalArgumentException

楼主RayLynn(福建风帆人才网 (www.ffrcw.com) IT)2005-07-18 13:39:51 在 Java / J2ME 提问

 
  //-----------------------------  
  //   这是从书中拷贝下来的。编译时没错,运行时发现此异常。  
  //   请问错在哪?  
  //-----------------------------  
  import   javax.microedition.midlet.*;  
  import   javax.microedition.lcdui.*;  
  public   class   OnlineHelp   extends   MIDlet   implements   CommandListener  
  {  
      private   Display   display;  
      private   Command   back;  
      private   Command   exit;    
      private   Command   help;    
      private   Form   form;  
      private   TextBox   helpMesg;  
      public   OnlineHelp()  
      {  
          display   =   Display.getDisplay(this);  
          back   =   new   Command("Back",   Command.BACK,   2);  
          exit   =   new   Command("Exit",   Command.EXIT,   1);  
          help   =   new   Command("Help",   Command.HELP,   3);  
          form   =   new   Form("Online   Help   Example");    
          helpMesg   =   new   TextBox("Online   Help",   "Press   Back   to   return   to   the   previous   screen   or   press   Exit   Exist   to   close   this   program.",   81,   0);  
          helpMesg.addCommand(back);  
          form.addCommand(exit);  
          form.addCommand(help);          
          form.setCommandListener(this);  
          helpMesg.setCommandListener(this);  
        }  
      public   void   startApp()  
        {  
          display.setCurrent(form);  
        }  
      public   void   pauseApp()  
      {  
      }  
      public   void   destroyApp(boolean   unconditional)  
      {  
      }  
      public   void   commandAction(Command   command,    
                                                          Displayable   displayable)  
      {  
          if   (command   ==   back)  
          {  
              display.setCurrent(form);  
          }  
          else   if   (command   ==   exit)    
          {  
            destroyApp(false);  
            notifyDestroyed();  
          }    
          else   if   (command   ==   help)  
          {      
            display.setCurrent(helpMesg);  
          }  
      }  
  }  
  问题点数:10、回复次数:3Top

1 楼RayLynn(福建风帆人才网 (www.ffrcw.com) IT)回复于 2005-07-18 14:01:13 得分 0

自己顶。。  
  郁闷到低了```大家帮个忙啊。Top

2 楼xueyong1203(二当家的)回复于 2005-07-18 14:50:56 得分 10

呵呵  
  刚才看了很久也没有发现问题  
  亲自在JB里运行了一下发现确是有IllegalArgumentException异常抛出  
  根据异常信息步入原来是这一句的问题  
  helpMesg   =   new   TextBox("Online   Help",   "Press   Back   to   return   to   the   previous   screen   or   press   Exit   Exist   to   close   this   program.",   81,   0);  
   
  说明一下  
  TextBox的构造函数TextBox(String   label,   String   text,   int   maxSize,   int   constraints)  
  maxSize   是指最大的字符数,所以要求String   text的最大值也不能超过这个maxSize  
  很明显"Press   Back   to   return   to   the   previous   screen   or   press   Exit   Exist   to   close   this   program."超过了81个字符,所以编译虽然没错,但运行会有异常抛出  
   
  可以把81修改成281等等Top

3 楼RayLynn(福建风帆人才网 (www.ffrcw.com) IT)回复于 2005-07-18 15:00:21 得分 0

原来如此``非常感谢!!Top

相关问题

  • 在三星模拟器上运行发现异常。
  • 运行出现异常(急)
  • Runtime运行CMD抛出的异常
  • 程序运行环境改变后,运行异常.
  • 编译后的运行文件在运行时出现异常,与PB下运行不一致。
  • 运行出现Uncaught exception java/lang/IllegalArgumentException.
  • 以下程序,为什么运行时出现异常错误?
  • faint,单步运行没有问题,执行时却报异常
  • 异常处理会对线程的运行产生影响吗?
  • 为什么运行 J2EE -verbose 会出现异常

关键词

  • program
  • helpmesg
  • 异常
  • 运行
  • back
  • command
  • addcommand
  • maxsize
  • setcurrent
  • 发现

得分解答快速导航

  • 帖主:RayLynn
  • xueyong1203

相关链接

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

广告也精彩

反馈

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