java - 更改Label Docorator的字体样式

标签 java eclipse eclipse-plugin

我正在尝试为某些文件名添加后缀。我创建了一个标签装饰器,如下所示,它工作正常。但我也想让我的装饰大胆。我实现了IFontDecorator,但它的decoratFont()没有被调用。谁能指导我如何让我的装饰显得大胆。

public class ConfigFileDecorator extends LabelProvider implements ILightweightLabelDecorator, IFontDecorator {
    private Font boldFont;

    public void decorate(Object element, IDecoration decoration) {
        try {
            String platform = getPlatformName(element);
            if (platform == null) {
                return;
            }

            decoration.addSuffix(" [" + platform + "]");
        } 
        catch (Exception e) {
            Activator.log(e);
        }
    }

    @Override   
    public Font decorateFont(Object element) {
        try {
            String platform = getPlatformName(element);
            if (platform == null) {
                return null;
            }

            if (boldFont != null) {
                return boldFont;
            }

            Font defaultFont = JFaceResources.getDefaultFont();
            FontData[] fontData = defaultFont.getFontData();
            for (int i = 0; i < fontData.length; i++) {
                fontData[i].setStyle(SWT.BOLD);
            }               
            boldFont = new Font(PlatformUI.getWorkbench().getDisplay(), fontData);
            return boldFont;
        } 
        catch (Exception e) {
            Activator.log(e);
        }
        return null;
    }
}

最佳答案

ILightweightLabelDecorator 不支持 IFontDecorator

相反,您可以调用传递给 decorate 方法的 IDecration 参数的 setFont 方法。

关于java - 更改Label Docorator的字体样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39700931/

相关文章:

java - 在枚举上写入 Parcelable 会使应用程序崩溃

java - 每次查看 Activity 时如何调用方法?

java - Listview按钮点击抛出空指针异常

Eclipse Kepler 64 位未在 Windows 7 上运行

java - 从 Eclipse 插件启动 URL

java - 我的 Java swing 按钮不起作用

java - 出现这些错误信息的原因是什么?

android - 使用 Eclipse DDMS 将大文件推送到模拟器/SD 卡时出现问题

eclipse-rcp - 为 Eclipse 更新站点项目中的插件定义自动启动

eclipse - 用于自定义 Web 服务的 Mylyn 连接器