本来刚学j2me手机编程,遇到一个问题,可能比较浅,请不吝赐教!

原创 2017年01月03日 01:34:01
我用的书是人民邮电出版社的《j2me手机游戏编程入门》,我用J2ME Wireless Toolkit 2.0_01来开发运行。当我在尝试这本书的一个例子的时候,遇到你个问题,心中也有困惑,请各位指教。

附一,SkeletonMIDlet.java(该程序在c:\wtk20\apps\Skeleton\src目录下)

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class SkeletonMIDlet extends MIDlet implements CommandListener{

private SCanvas canvas;

public void startApp(){
   if(canvas==null){
    canvas=new SCanvas(Display.getDisplay(this));
    Command exitCommand=new Command("Exit",Command.EXIT,0);
    canvas.setCommandListener(this);
   
    }
   
  //start canvas;
  canvas.start();
  
}
   public void pauseApp(){
      }
     
   public void destroyApp(boolean unconditional){
       }
   
   public void commandAction(Command c,Displayable s){
   
    if (c.getCommandType()==Command.EXIT){
    destroyApp(true);
    notifyDestroyed();
        }
      }
}

//==========================================================================

附二,Scanvas.java (该文件位置如上)

import java.lang.String;

import javax.microedition.lcdui.*;
import javax.microedition.lcdui.Graphics.*;

public class SCanvas extends Canvas{
private Display display;

public SCanvas(Display d){
super();
display=d;


}

void start(){
display.setCurrent(this);
repaint();
}

public void paint(Graphics g){
//清理画布

g.setColor(0,0,0);
g.fillRect(0,0,getWidth(),getHeight());
g.setColor(255,255,255);//white

//绘制可用屏幕尺寸
    int y=0;
    String screenSize="Screen size: "+Integer.toString(getWidth())+" * " +Integer.toString(getHeight());
    g.drawString(screenSize,0,y,Graphics.TOP|Graphics.LEFT);

//绘制可用颜色数
    
    y+=Font.getDefaultFont().getHeight();
    String numColors="# of colors: " +Integer.toString(display.numColors());
    g.drawString(numColors,0,y,Graphics.TOP|Graphics.LEFT);
    
    
 //绘制可用的透明度设置  
    
    y+=Font.getDefaultFont().getHeight();
    String numAlphas="# of alphas: " +Integer.toString(display.numAlphaLevels());
    g.drawString(numAlphas,0,y,Graphics.TOP|Graphics.LEFT);
    
 //绘制总内存和可用内存大小
    
    Runtime runtime=Runtime.getRuntime();
    y+=Font.getDefaultFont().getHeight();
    String totalMem="Total memory: " +Long.toString(runtime.totalMemory()/1024) +"KB";
    g.drawString(totalMem ,0,y,Graphics.TOP|Graphics.LEFT);
    
    y+=Font.getDefaultFont().getHeight();
    String freeMem="Free memory: " +Long.toString(runtime.freeMemory()/1024 ) +"KB" ;
    g.drawString(freeMem,0,y,Graphics.TOP|Graphics.LEFT);
    
}

}


我写好源代码,并且在bin目录下写好Skeleton.jad,我在用ktoolbar打开一个项目,然后编译,出现这个错误:
//=============
Project "Skeleton" loaded
Project settings saved
Building "Skeleton"
C:\WTK20\apps\Skeleton\src\SCanvas.java:30: cannot access java.lang.StringBuilder
file java\lang\StringBuilder.class not found
    String screenSize="Screen size: "+Integer.toString(getWidth())+" * " +Integer.toString(getHeight());
                                                                                 ^
Fatal Error: Unable to find method <init>
com.sun.kvem.ktools.ExecutionException
Build failed

请问,这是为何,我的上面两个java源程序用jcreator编辑,并且在那个环境下编译通过;上面的提示是什么原因呢?

还有,书上说j2me源程序从一个手机移植到另一个手机的工作量很小,我现在不知道具体要做些什么??

谢谢。


计算机科学领域的任何问题都可以通过增加一个间接的中间层来解决

系统软件这个概念其实比较模糊,传统意义上一半将用于管理计算机本身的软件称为系统软件,以区别普通的应用程序。系统软件可以分成两块,  一块是平台性的,比如操作系统内核、驱动程序、运行库和数以千计的...
  • liutianshx2012
  • liutianshx2012
  • 2016年03月03日 18:04
  • 2566

一个牛人给java初学者的建议

给初学者之一:浅谈java及应用 学java不知不觉也已经三年了 从不知java为何物到现在一个小小的j2ee项目经理 虽说不上此道高手,大概也算有点斤两了吧 每次上网,泡bbs逛论坛,没少去java...
  • XinTeng2012
  • XinTeng2012
  • 2014年12月25日 11:43
  • 6170

iOS ipa包打包方法以及可能出现的问题

公司的帐号是企业帐号,开发的app不需要上传到App store,而是直接打包成ipa包提供给公司内部使用。我参考了许多前辈们的方法,加上自己的总结得到如下打包ipa包的方法:如有错误请指出,谢谢! ...
  • QueenlySun
  • QueenlySun
  • 2016年09月06日 17:25
  • 4597

商务智能的简单认识,还请指正,不吝赐教

  • 2008年11月25日 22:16
  • 481KB
  • 下载

Google 10月份在线笔试ProblemD(个人代码,未必最优,请不吝赐教)

Problem Tetris is a famous video game that almost everyone has played it. In this problem, you ne...
  • knight3396
  • knight3396
  • 2014年10月25日 15:10
  • 368

Google 10月份在线笔试ProblemB(个人代码,未必最优,请不吝赐教)

Problem Tom is taking metros in the city to go from station to station. The metro system in the ...
  • knight3396
  • knight3396
  • 2014年10月25日 14:47
  • 303

搜狗2013校园招聘java笔试题分析(个人的一点分析拙见,不到之处请不吝赐教)

不知道 自己理解 有哪些 不到之处,还望高手们, 不吝指教,一点点贴出我的分析 过程,错误之处还请批评指教。   13.下面关于字符串的描述,正确的是(C) A.通过Strinf s1=new ...
  • AA747604141
  • AA747604141
  • 2013年04月02日 16:31
  • 1402

代码混淆后iginate缓存加载失败,尚未确定所提示的重复字段是哪里的,高手请不吝赐教。

class org.apache.ignite.binary.BinaryObjectException: Duplicate field ID: F at org.apache.ignite.in...
  • unimme
  • unimme
  • 2017年12月06日 11:21
  • 73

英雄会在线编程题目(请大家不吝赐教)

最近看了一道英雄会在线编程题目,题目的介绍如下: 题目详情:有一个数列,所有的数都是非负整数,你可以进行如下方式进行一次操作(注意一次完整的操作必须先后完成如下两个步骤):(1) 任选一个不小于3的...
  • zhaohong_bo
  • zhaohong_bo
  • 2015年02月09日 23:17
  • 250

Google 10月份在线笔试ProblemC(个人代码,未必最优,请不吝赐教)

Problem Alice is a smart student who is very good at math. She is attending a math class. In this...
  • knight3396
  • knight3396
  • 2014年10月25日 14:57
  • 390
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:本来刚学j2me手机编程,遇到一个问题,可能比较浅,请不吝赐教!
举报原因:
原因补充:

(最多只允许输入30个字)