J2ME转换器程序不接受用户的输入

时间:2010-12-06 14:36:59

标签: java java-me

我的转换器程序无法接受用户输入的值时遇到问题。一切似乎都是正确的,但结果总是好像用户什么都没输入。如果有人能指出我正确的方向,我将非常感激!

我的项目包含2个文件(1个midlet和1个类)。

代码太长,无法在此论坛发帖,所以我上传了zip。

现在托管在这里的编辑应该更干净:删除 我不能把它缩小到一小段代码,因为它可能是我已经尝试过的任何数量的东西。我知道它的要求相当多,但代码并不是很长。如果有人能看一眼,我将非常感激。

编辑2:该文件似乎正在尝试下载图像...这是我发布的另一个论坛中的代码,但没有得到答案:http://www.codingforums.com/showthread.php?p=1024059#post1024059

编辑3:这里是我认为问题出在代码中的地方:`public double customForm(String fName)     {         ui_form = new Form(fName);

    ui_form.addCommand(Convert);
    ui_form.addCommand(Back);

    display.setCurrent(ui_form);

num = new TextField("Enter the number of units you would like to convert", "", MAX_CHARS, TextField.ANY);
    ui_form.append(num);
    ui_form.setCommandListener(this);

    /***********************/
    /* THIS IS NOT WORKING*/
   // str = num.getString();
    str = "The number is: " + num.getString();
    try
    {
    numUnits = Double.parseDouble(str);
    }
    catch (NumberFormatException nfe)
    {
    }
    finally
    {
        return numUnits;
    }

    //return str;
}

`

但您可能需要查看其余代码以查看问题所在。这只是我认为

的根源

1 个答案:

答案 0 :(得分:0)

在将文本字段添加到表单后,您无法立即阅读该文本字段。看起来您假设num.getString()方法要阻止,直到有用户输入 - 事实并非如此。用户输入是异步提供的,即您应该在commandAction()方法的某个位置读取文本字段的内容以响应用户命令(在您的情况下转换命令已由用户发出。)

异步处理用户事件是GUI开发中的核心模式。在这方面,我建议阅读一些JavaME中命令处理的示例代码,例如thisthis