急!使用jb7+mobileSet3.0者请进来。。。。

resintwo 2004-04-22 08:29:39
j2sdk + wtk自代的例子,在j2sdk + wtk中运行正常,但放到我的jb7+mobileSet3.0环境下,发生很多错误。。为什么呢????我初学, 始终没该好,我把出错的地方注释了请大家测试后,修改后可以发到我邮箱(resintwo@sina.com),谢谢。。
package calculator;
import javax.microedition.midlet.MIDlet;
import javax.microedition.lcdui.*;

public final class CalculatorMIDlet extends MIDlet implements CommandListener {

private static final int NUM_SIZE=20;
private final Command exitCmd = new Command("Exit", Command.EXIT, 2);
private final Command calcCmd = new Command("Calc", Command.SCREEN, 1);
private final TextField t1 = new TextField(null, "", NUM_SIZE,
TextField.DECIMAL);//TextField.DECIMAL出错。。没有.DECIMAL方法

private final TextField t2 = new TextField(null, "", NUM_SIZE,
TextField.DECIMAL);//TextField.DECIMAL出错。。没有.DECIMAL属性


private final TextField tr = new TextField("Result", "", NUM_SIZE,
TextField.UNEDITABLE);//TextField.DECIMAL出错。。没有.DECIMAL属性
private final ChoiceGroup cg = new ChoiceGroup("", ChoiceGroup.POPUP,
new String[] {"add", "subtract", "multiply", "divide"}, null);
//ChoiceGroup.POPUP出错。。没.POPUP属性
private final Alert alert = new Alert("Error", "", null, AlertType.ERROR);
private boolean isInitialized = false;
protected void startApp() {
if (isInitialized) {
return;
}
Form f = new Form("FP Calculator");
f.append(t1);
f.append(cg);
f.append(t2);
f.append(tr);
f.addCommand(exitCmd);
f.addCommand(calcCmd);
f.setCommandListener(this);
Display.getDisplay(this).setCurrent(f);
alert.addCommand(new Command("Back", Command.SCREEN, 1));
isInitialized = true;
}
protected void destroyApp(boolean unconditional) {}
protected void pauseApp() {}

public void commandAction(Command c, Displayable d) {
if (c == exitCmd) {
destroyApp(false);
notifyDestroyed();
return;
}
double res = 0.0;

try {
double n1 = getNumber(t1, "First");//getNumber出错
double n2 = getNumber(t2, "Second");//getNumber出错

switch (cg.getSelectedIndex()) {
case 0: res = n1 + n2; break;
case 1: res = n1 - n2; break;
case 2: res = n1 * n2; break;
case 3: res = n1 / n2; break;
default:
}
} catch (NumberFormatException e) {
return;
} catch (ArithmeticException e) {
alert.setString("Divide by zero.");
Display.getDisplay(this).setCurrent(alert);
return;
}

String res_str = Double.toString(res);//Double.toString出错

if (res_str.length() > tr.getMaxSize()) {
tr.setMaxSize(res_str.length());
}
tr.setString(res_str);
}

private double getNumber(TextField t, String type)
throws NumberFormatException {
String s = t.getString();

if (s.length() == 0) {
alert.setString("No " + type + " Argument");
Display.getDisplay(this).setCurrent(alert);
throw new NumberFormatException();
}
double n;

try {
n = Double.parseDouble(s);//Dole.parseDouble出错。。
} catch (NumberFormatException e) {
alert.setString(type + " argument is out of range.");
Display.getDisplay(this).setCurrent(alert);
throw e;
}
return n;
}
}
...全文
57 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhugang 2004-06-10
  • 打赏
  • 举报
回复
楼主是如何解决的?我也有这个问题。
resintwo 2004-05-08
  • 打赏
  • 举报
回复
如果你是下载的mobileset3.0,那么他回发到你邮箱一个reg74.txt把它下载下来:如到C:\MobileSet3.txt
你装上mobileset3.0后,他会提示你输入注册码。。。。。
不可以这样做:到运行是提示输注册码是:
选择
Have Activation File,
点Next>,Path:C:\MobileSet3.txt(你下载的注册码文件),完成。 便可以解决。。。
newhandtoo 2004-04-29
  • 打赏
  • 举报
回复
楼主,我有mobileset3.0,但是没有注册码,请求你提供给我
resintwo 2004-04-29
  • 打赏
  • 举报
回复
问题已经解决。。
bb_star_bb 2004-04-23
  • 打赏
  • 举报
回复
你装一个jb9好了。

13,100

社区成员

发帖
与我相关
我的任务
社区描述
Java J2ME
社区管理员
  • J2ME社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧