使用JFace中的ApplicationWindow构造ToolBarManager添加Action后,文字是默认不显示的,要想显示图片和文字,如下:
import org.eclipse.jface.action.ActionContributionItem;
import org.eclipse.jface.action.ContributionItem;
import org.eclipse.swt.widgets.ToolBar;
import org.eclipse.swt.widgets.ToolItem;
/**
* 使工具栏显示图片和文字
*
* @category
* @author <a href="brofe.pan@gmail.com">Brofe Pan</a>
* @version $Revision:1.0.0, $Date: 2012-6-7 $
*/
public class ToolBarRender extends ContributionItem {
@Override
public void fill(ToolBar parent, int index) {
ToolItem[] toolItems = parent.getItems();
for (ToolItem toolItem : toolItems) {
if (toolItem.getData() instanceof ActionContributionItem) {
ActionContributionItem contributionItem = (ActionContributionItem) toolItem.getData();
contributionItem.setMode(ActionContributionItem.MODE_FORCE_TEXT);
}
}
}
}
demo:显示效果见附件
toolBarManager.add(new Separator());
toolBarManager.add(switchManagerAction);
toolBarManager.add(exitManagerAction);
toolBarManager.add(new ShowToolBarText()); // 添加所有的Action完后在加上这句
// 一直从事Web方面的工作,近期突然要做CS系统,用SWT/JFace技术,蛮有意思...