J2ME 中的 GUI 更新问题

Posted

技术标签:

【中文标题】J2ME 中的 GUI 更新问题【英文标题】:GUI update issue in J2ME 【发布时间】:2010-09-22 16:31:23 【问题描述】:

假设我有两种形式:form1form2

form1中按下NEXT_COMMAND后,我需要更改form2gauge的值,然后显示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】:

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

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

那么您的代码将是:

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

您是否尝试过其他序列?像这样:display.setCurrent(form2);form2_gauge.setValue(value); 我认为它不会改变任何东西,但可能会使其发挥作用。

【讨论】:

你的眼睛很敏锐!对不起,我的错。但这不是代码的问题。 好吧,我当然没有!它做到了。但是,无法想象为什么。非常感谢! 当然可以。对不起,我有点精神崩溃了。

以上是关于J2ME 中的 GUI 更新问题的主要内容,如果未能解决你的问题,请参考以下文章

从 C# 中的类更新 GUI 的正确方法

使用 qt 中的信号/插槽更新 gui [关闭]

哪个是 J2ME 应用程序的最佳 GUI 工具

为 J2ME 应用程序设计 GUI

j2me 移动应用的 GUI 库

如何从 Java 中的另一个线程更新 SWT GUI