天天看點

SWT擷取windows系統視窗顔色

    很多人在使用電腦時都會将系統視窗的顔色修改為護眼色(85、95、205),在設計軟體的界面背景時就需要考慮到背景顔色是根據系統的視窗顔色來決定的。

    在使用AWT時,可以通過java.awt.SystemColor.window來擷取windows系統視窗顔色。使用SWT時,如果使用Display.getSystemColor(id)是無法獲得系統視窗顔色的。不過通過Display的getSystemColor方法可以啟發我們自己寫一個擷取系統視窗顔色的方法,以下為代碼:   

int pixel = org.eclipse.swt.internal.win32.OS.GetSysColor(OS.COLOR_WINDOW);
Color windowColor = Color.win32_new(display,pixel);
           

注意: 上述代碼存在一個問題時,省略了Display.getSystemColor(id)時的checkDevice()過程,擷取過程可能會出現錯誤。

繼續閱讀