Java StyledCellLabelProvider不知道SWT.BOLD或SWT.ITALIC

Java StyledCellLabelProvider不知道SWT.BOLD或SWT.ITALIC,java,jface,Java,Jface,我有一个非常标准的StyledCellLabelProvider,但是当我设置StyleRanges时,既不能识别SWT.BOLD也不能识别SWT.ITALIC(即使JavaDoc声明两者都是有效值)。但下划线的渲染是正确的 我也尝试过设置objectStyleRange\font,但没有效果 综合示例: public class BoldStyledCellExample extends ApplicationWindow { public static void main(fina

我有一个非常标准的
StyledCellLabelProvider
,但是当我设置
StyleRanges
时,既不能识别
SWT.BOLD
也不能识别
SWT.ITALIC
(即使JavaDoc声明两者都是有效值)。但下划线的渲染是正确的

我也尝试过设置object
StyleRange\font
,但没有效果

综合示例:

public class BoldStyledCellExample extends ApplicationWindow {

    public static void main(final String[] args) {
        final BoldStyledCellExample example = new BoldStyledCellExample();
        example.setBlockOnOpen(true);
        example.open();
    }

    public BoldStyledCellExample() {
        super(null);
    }

    @Override
    protected Control createContents(final Composite parent) {
        final TableViewer viewer = new TableViewer(parent, SWT.V_SCROLL | SWT.H_SCROLL | SWT.FULL_SELECTION);
        viewer.setContentProvider(ArrayContentProvider.getInstance());

        final TableViewerColumn column1 = new TableViewerColumn(viewer, SWT.LEFT);
        column1.getColumn().setText("Foo");
        column1.getColumn().setWidth(250);
        column1.setLabelProvider(new StyledCellLabelProvider() {

            @Override
            public void update(final ViewerCell cell) {
                final String letter = (String) cell.getElement();

                cell.setText(letter);
                cell.setStyleRanges(new StyleRange[] { new StyleRange(0, letter.length(), null, null, SWT.ITALIC) });
                super.update(cell);
            }
        });

        viewer.setInput(Arrays.asList("A", "B", "C", "D"));
        return viewer.getTable();
    }
}
因为这可能只是一个操作系统问题,所以我使用Eclipse3.7(但它也不适用于4.5)和Win10

这里有什么问题?

这是一个已知的错误,目前还没有修复。此错误与更老的错误重复

这是一个已知的错误,目前尚未修复。这个bug是旧bug的复制品