Is there any way to force StyledText widget to show text using monospaced font? It's not a problem of used font - I have tried 'Monospace', 'Courier', 'System', 'Fixedsys' and other monospaced fonts... Normal Text widget shows text with monospaced font defaultly ('Fixedsys' font tested).
Thanks in advance for help!
You can get a monospaced font with the methods shown in the answers to this question:
SWT - OS agnostic way to get monospaced font
Then simply call 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();
}
Looks like this: