Eclipse编程之旅:Shell入门

来源:百度文库 编辑:神马文学网 时间:2024/04/27 10:20:00

再下面的代码是建立Shell的事件循环:

while(!shell.isDisposed( )){

    if(!display.readAndDispatch( ))

      display.sleep( );

    }

 

Shell需要响应一些事件,其中某些是由操作系统引起的,另外一些是由用户引起的,如用户点击了最大化按钮以及关闭Shell创建的窗口等。事件循环一直侦听这些事件,然后将这些事件转发给相应的处理程序,这是由Display类的readAndDispatch()方法来完成的。这意味着,你创建的每个Shell必须具有它自己的事件循环。如果创建的Shell没有事件循环,或者事件循环失效的话,它马上就会被除去。一般情况下,事件循环会一直执行下去,直到Shell类的isDisposed( )方法返回值为true(即窗口已被用户关闭)为止。