2010-09-22 62 views
1

假設我有兩種形式:form1form2J2ME中的GUI更新問題

form1按下NEXT_COMMAND後,我需要改變gauge的價值form2再展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);
我不認爲這會改變什麼,但可以使其發揮作用。

+0

你有一個敏銳的眼睛!對不起,我的錯。但是,這不是代碼問題。 – 2010-09-22 17:17:15

+0

更新了一個建議。 – 2010-09-22 17:48:25

+0

嗯,我當然*沒有*!它*做了伎倆。但是,無法想象嘿。非常感謝! – 2010-09-22 19:11:52