在UiApplication中使用invokeLater()

时间:2012-05-17 10:36:48

标签: java blackberry-jde uiapplication invokelater

我可以在UiApplication for blackberry中使用invokeLater语句包含我的try catch块。

使用invokeLater方法的确切目的是什么。它是如何被调用的?

这是代码

     UiApplication.getUiApplication().invokeLater(new Runnable() 
    {
        public void run() 
       {
             try{
                  //Statements
                 }
             catch()
             {
             }
        }
    });

1 个答案:

答案 0 :(得分:2)

是的,您可以在run-method中包含自己的try-catch块。 invokeLaterinvokeAndWait的目的是使从event-thread外部做影响UI的事情成为可能:事件线程是具有事件锁定的线程,意思是线程负责执行绘制和处理事件的所有代码。只有事件线程可以处理传入事件并更新关联应用程序的UI。

当您调用invokeLater方法之一或invokeAndWait时,您的Runnable将排队等待在事件线程内运行。使用invokeLater,调用方法的代码可以继续运行,Runnable迟早会在事件线程中运行。使用invokeAndWait,调用该方法的线程将一直等到Runnable在事件线程中运行,然后再继续。