很多人在使用电脑时都会将系统窗口的颜色修改为护眼色(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()过程,获取过程可能会出现错误。
本文出自 “winger” 博客,谢绝转载!