J2ME中的GUI更新问题

时间:2010-09-22 16:31:23

标签: user-interface java-me

假设我有两种形式:form1form2

NEXT_COMMAND中按form1后,我需要更改gaugeform2的值,然后显示form2。因此:

public void commandAction(Command command, Displayable displayable) {
....
else if (displayable == form1) {
    if (command == NEXT_COMMAND) {
        form2_gauge.setValue(value);
        display.setCurrent(form2);
    }
....
}
....

然而,这并不像我预期的那样有效。它起初并没有改变。另一方面,如果我从form2返回到form1,然后再从form1返回到form2,那就可以了。

我自己无法弄明白。我非常感谢任何可能的帮助。

谢谢!

1 个答案:

答案 0 :(得分:1)

在我看来form2.gauge在这里不正确。您必须像这样保存Gauge对象:

Gauge form2_gauge([...]);
form2.append(form2_gauge);

然后你的代码将是:

[...]
    form2_gauge.setValue(value);
    display.setCurrent(form2);
[...]

你试过另一个序列吗?像这样:
display.setCurrent(form2);
form2_gauge.setValue(value);
我认为它不会改变任何东西,但可能会使它发挥作用。