2010-12-06 44 views
0

我的转换器程序出现问题,无法接受用户输入的值。一切似乎都很正确,但结果总是好像用户什么都没输入。如果任何人都可以指出我正确的方向,我将不胜感激!J2ME转换器程序不接受用户输入

我的项目由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; 
} 

`

,但你可能会需要看代码的其余部分,看看问题出在哪里。这只是根我认为

+2

这个网站似乎迫使我们安装一些工具栏。请编辑您的问题以及问题陈述 – 2010-12-06 14:40:25

+1

只需将代码剪切到[SSCCE](http://sscce.org)(即所需代码的绝对最小值以重现由main()方法)。 – BalusC 2010-12-06 14:44:21

回答

0

你已经添加到窗体后不能读取文本字段。它看起来像你假设num.getString()方法阻止,直到用户输入 - 这不是这种情况。 异步提供用户输入,即您应该读取文本字段的内容以响应用户命令,在commandAction()方法中的某处(在您的情况下,当用户发出转换命令时)。

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