有没有办法强制StyledText小部件使用等宽字体显示文本?这不是使用字体的问题 - 我尝试过'Monospace','Courier','System','Fixedsys'和其他等宽字体...... 普通文本小部件默认显示带有等宽字体的文本('Fixedsys'字体测试)。
提前感谢您的帮助!
答案 0 :(得分:5)
您可以使用此问题的答案中显示的方法获得等宽字体:
SWT - OS agnostic way to get monospaced font
然后只需致电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();
}
看起来像这样: