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();
}
Выглядит так: