理解SWT/JFace中的Display與Shell

Display用來連接操作系統:
需要在程序的最開始創建

Display display=new Display();

在程序結束後要記得銷燬display

display.dispose();

Shell可以簡單理解爲一個shell就是一個窗口:

Shell shell=new Shell(display,SWT.CLOSE);

其中SWT.CLOSE的位置爲風格,可不選也可多選,用“|”分隔開
Shell shell=new Shell();也不會報錯,代碼內部會爲其添加display
在這裏插入圖片描述

打開窗口:

 shell.open();

有一個問題在於打開窗口後會緊接着執行display.dispose();,display被銷燬導致窗口只是一閃而過甚至並不出現,那就需要下方代碼:

while ( !shell.isDisposed()) {
            if (!display.readAndDispatch()) {  
                display.sleep();              
            }
}

保證程序處於執行狀態,關閉窗口才結束程序

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章