六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 90|回复: 0

RCP 程序界面美化技术

[复制链接]

升级  50.67%

34

主题

34

主题

34

主题

秀才

Rank: 2

积分
126
 楼主| 发表于 2013-1-15 02:13:32 | 显示全部楼层 |阅读模式
界面美化技术:
在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);}}
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表