您的位置:首页 > 大数据 > 人工智能

invokeLater和invokeAndWait

2010-01-13 11:24 513 查看
还是今天才发现UI下有这么两个有趣的对立方法。
前者是调用并等待其它执行完毕,后者是调用让其它等待它执行完毕,初一看怎么这么绕口啊,其实很容易理解。
你建个Ui.pushscreen看看,再弄个Dialog.Alert看看。Dialog本身就是popupscreen的子类,用以下code很容易看出两者区别在何处。
UiApplication.getUiApplication().invokeAndWait(new Runnable(){
        public void run(){
          Dialog.alert(" I am a message..............................");
        }
      });
System.out.println("I am a message 2..............................");
这时屏幕输出停在了alert框中,但是debug中没有显示了"I am a message 2..............................",这说明下面那步还未执行。而换成下面的代码
UiApplication.getUiApplication().invokeLater(new Runnable(){
        public void run(){
          Dialog.alert(" I am a message..............................");
        }
      });
System.out.println("I am a message 2..............................");
则在debug中可以看见"I am a message 2..............................",这说明程序先执行了下面的代码再返回执行run()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: