J2ME低级界面如何全屏的问题
来源:优易学  2011-11-21 11:25:52   【优易学:中国教育考试门户网】   资料下载   IT书店
  这段时间在做个KJAVA的软件,用的是低级界面做出来的。开始还没什么问题,但是一到输入的功能时,就出现了问题。低级界面上调不出来输入法,可高级界面返回到低级界面时,低级界面就会退出全屏模式,让系统功能菜单挡去了一大块!!
  现在解决办法有两个:
  1 自己开发一个输入法。 一开始想难度也不大,就是用keyPressed事件捕到按键代码,再转为相应的字母和数字。可是当用户的手机没有键盘时怎么办?? 我们老大说,那就开发一个有界面软键盘有同时能响应键盘事件的组件! 回头我一想,这样的话问题是解决了,但是开发周期又要长出一些,而且难度也增加了。 万不得以是可以走这条路。
  2 找一个办法来解决这个问题。使得从高级返回到低级界面时 保持低级界面的全屏状态。找了很长时间,没有结果。不过我没有放弃。 一个测试时的细节让我有了灵感。 在我从TextBox到Canvas时,全屏状态没了,当我再从这个Canvas切到另一个Canvas时,奇迹出现了,全屏状态又出现了!!又仔细想了一下这个过程,这个Canvas切到以前建立过的Canvas不会出现全屏,当其创建了一个新的Canvas 并设置了setFullScreenMode(true);这样,全屏的Canvas就出现了,再切回来也还是全屏!
  于是,我写了这么一段代码
  public void CreateCanvas(){
  Canvas can = new Canvas() {
  protected void paint(Graphics arg0) {
  }
  };
  can.setFullScreenMode(true);
  //display.setCurrent(can);
  display.setCurrent(this);
  can = null;
  }
  在TextBox输入结束后再这样调用
  parent.setTextValue( inputBox.getString());
  parent.CreateCanvas();
  这样就OK了!
  终于解决问题了。但这样的方式会有一个麻烦,就是开销很大。

责任编辑:小草

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训