再下面的代碼是建立Shell的事件循環(huán): while(!shell.isDisposed( )){ if(!display.readAndDispatch( )) display.sleep( ); }
Shell需要響應一些事件,其中某些是由操作系統(tǒng)引起的,另外一些是由用戶引起的,如用戶點擊了最大化按鈕以及關(guān)閉Shell創(chuàng)建的窗口等。事件循環(huán)一直偵聽這些事件,然后將這些事件轉(zhuǎn)發(fā)給相應的處理程序,這是由Display類的readAndDispatch()方法來完成的。這意味著,你創(chuàng)建的每個Shell必須具有它自己的事件循環(huán)。如果創(chuàng)建的Shell沒有事件循環(huán),或者事件循環(huán)失效的話,它馬上就會被除去。一般情況下,事件循環(huán)會一直執(zhí)行下去,直到Shell類的isDisposed( )方法返回值為true(即窗口已被用戶關(guān)閉)為止。 |
|
來自: D調(diào)de小麥 > 《coding》