我試圖理解用於管理UI交互的三種方法之間的區別。如何修改這個示例代碼,以顯示更新三種方法之間的區別黑莓
我真的很困惑這三個術語,當試圖找出他們在真實情況下。
下面的代碼顯示了invokeAndWait方法的功能,但如果我用 代替invokeLater或getEventLock(),程序將以完全相同的方式工作。
有人可以修改代碼以顯示用於更新UI的三種 方法之間的區別嗎?
public final class HelloWorldMainScreen extends MainScreen
{
private LabelField labelField;
public HelloWorldMainScreen()
{
labelField = new LabelField("Hello World");
add(labelField);
MainScreenUpdaterThread thread = new MainScreenUpdaterThread(this);
thread.start();
}
public void appendLabelText(String text){
labelField.setText(labelField.getText()+"\n"+text);
}
}
public class MainScreenUpdaterThread extends Thread {
HelloWorldMainScreen mainScreen;
public MainScreenUpdaterThread(HelloWorldMainScreen mainScreen){
this.mainScreen = mainScreen;
}
public void run(){
for (int i = 0; i < 10; i++) {
try{
Thread.sleep(5000);
}catch(InterruptedException ex){};
UiApplication.getUiApplication().invokeAndWait(new Runnable() {
public void run() {
mainScreen.appendLabelText("Update");
}
});
}
}
}
這三個概念是非常混亂的許多人開始這樣任何解釋性源代碼 描述其功能將是任何人都強烈有益的,我想。
在此先感謝!