界面美化技术:
在preWindowOpen中进行设置http://www.ibm.com/developerworks/cn/opensource/os-cn-ecl-rcprich/index.html
Property sheets 属性页ftp://ftp.software.ibm.com/software/websphere/ilog/docs/visualization/jviews86/jviews-graphlayout-eclipse86/ps_gle_propsheets.pdf
Tabbed Property
http://www.eclipse.org/articles/Article-Tabbed-Properties/tabbed_properties_view.html
渐变背景色设置
法一:
graphics.setForegroundColor(ColorConstants.white);
graphics.setBackgroundColor(
DiagramColorRegistry.getInstance().getColor( rgb ));//200<<16|220<<8|230));
graphics.fillGradient(getBounds(), true);
法二
先给SWT绘图,在设置图片背景色,然后将此图片作为背景图片进行设置
public Image getImage(Shell shell,int height,Device device){
Rectangle bound = shell.getClientArea();
Image image = new Image(device, Math.max(shell.getClientArea().width,1),height);
GC gc = new GC (image);
gc.setForeground (ColorUtil.getInstance().getColor(ColorUtil.Light_BLUE)/*shell.getDisplay().getSystemColor (SWT.COLOR_DARK_GREEN)*/);
gc.setBackground (shell.getDisplay().getSystemColor (SWT.COLOR_WHITE));
gc.fillGradientRectangle (0, 0, bound.width, height, true);
gc.dispose ();
return image;
}
例如给菜单栏设置背景图片:
Shell shell = getWindowConfigurer().getWindow().getShell();
Image img = getImage(shell, 25, shell.getDisplay());
setMenuBG(img);]
获取颜色:
Display.getDefault().getSystemColor(SWT.COLOR_DARK_GREEN);
ColorUtil.getInstance().getColor(ColorUtil.RED);
ColorUtil
public class ColorUtil {
public static final String RED = "red";
private static ColorUtil colorUtil = null;
private ColorRegistry colorRegistry = null;
private ColorUtil() {
colorRegistry = new ColorRegistry();
putColor(RED, new RGB(255, 0, 0));
}
public static ColorUtil getInstance() {
if (null == colorUtil) {
colorUtil = new ColorUtil();
}
return colorUtil;
}
public void putColor(String colorKey, RGB colorData) {
colorRegistry.put(colorKey, colorData);
}
public Color getColor(String colorKey) {
return colorRegistry.get(colorKey);
}
}