SWT StyledText Widget - WhiteSpace Живопись - PullRequest
0 голосов
/ 20 марта 2012

У меня есть виджет StyledText в приложении SWT с форматированным текстом, например:

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 Ответ

3 голосов
/ 20 марта 2012

Видимо, это зависит от шрифта.Если вместо этого вы используете «Новый курьер», пробелы выстраиваются правильно.

Это то, что я изменил:

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

Кроме того, как примечание стороны - этоважно использовать шрифты везде, где это возможно, иначе у вас возникнут неприятные проблемы с обработкой.

...