SWT StyledText小部件 - WhiteSpace绘画

时间:2012-03-20 18:27:26

标签: swt paint

我在SWT应用中有一个StyledText小部件,格式化的文字如下:

Type                 -> Text
MessageID            -> ID:205871803-172.30.227.122(89:ab:da:58:b9:f3)-32849-1332173293715
CorrelationIDAsBytes -> [B@d1c778
Expiration           -> 0
Priority             -> 4
Timestamp            -> 1332173293715
Redelivered          -> false

然而,这就是它最终看起来像: SWT StyledText Weird Whitespace

是否有一些选项我可以打开它以“按原样”显示空格?

我尝试为它添加一些样式以使其看起来正确,但它仍然不起作用:

        _messageDataText.addLineStyleListener( new LineStyleListener() {
            public void lineGetStyle( final LineStyleEvent lineStyleEvent ) {
                StyleRange styleRange = new StyleRange();
                styleRange.start = 0;
                styleRange.length = _messageDataText.getText().length();
                styleRange.font = new Font( Display.getCurrent(), "Arial", 12, SWT.NORMAL );
                lineStyleEvent.styles = new StyleRange[] {
                    styleRange };
            }
        } );

1 个答案:

答案 0 :(得分:3)

显然这取决于字体。如果您使用“Courier New”而不是正确排列空格。

这是我改变的:

styleRange.font = new Font( Display.getCurrent(), "Courier New", 10, SWT.NORMAL );

另外,作为旁注 - 重要的是尽可能重复使用字体,否则会遇到令人讨厌的句柄问题。