1

有没有办法强制 StyledText 小部件使用等宽字体显示文本?这不是使用字体的问题 - 我尝试了“等宽字体”、“Courier”、“系统”、“Fixedsys”和其他等宽字体...普通文本小部件默认显示等宽字体的文本(“Fixedsys”字体测试)。

提前感谢您的帮助!

4

1 回答 1

6

您可以使用此问题的答案中显示的方法获得等宽字体:

SWT - 获取等宽字体的操作系统无关方式

然后只需调用StyledText#setFont(Font)

public static void main(String[] args)
{
    Display display = new Display();
    Shell shell = new Shell();
    shell.setText("StackOverflow");
    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();
}

看起来像这样:

在此处输入图像描述

于 2014-08-22T18:15:59.207 回答