Java SWT - StyledText, как показать текст с использованием моноширинного шрифта

Есть ли способ заставить виджет StyledText показывать текст, используя моноширинный шрифт? Это не проблема используемого шрифта - я пробовал "Monospace", "Courier", "System", "Fixedsys" и другие моноширинные шрифты... Виджет "Обычный текст" показывает текст с моноширинным шрифтом по умолчанию (проверен шрифт "Fixedsys").

Заранее спасибо за помощь!

1 ответ

Решение

Вы можете получить моноширинный шрифт с помощью методов, показанных в ответах на этот вопрос:

SWT - ОС независимый способ получить моноширинный шрифт

Тогда просто позвони StyledText#setFont(Font):

public static void main(String[] args)
{
    Display display = new Display();
    Shell shell = new Shell();
    shell.setText("Stackru");
    shell.setLayout(new FillLayout());

    StyledText text = new StyledText(shell, SWT.BORDER | SWT.MULTI);
    text.setFont(JFaceResources.getFont(JFaceResources.TEXT_FONT));
    text.setText("|i|m|\n|m|i|");

    shell.pack();
    shell.setSize(200, 100);
    shell.open();

    while (!shell.isDisposed())
    {
        if (!display.readAndDispatch())
        {
            display.sleep();
        }
    }
    display.dispose();
}

Выглядит так:

введите описание изображения здесь

Другие вопросы по тегам