【问题标题】:Java SWT - StyledText how to show text using monospaced fontJava SWT - StyledText 如何使用等宽字体显示文本
【发布时间】:2014-10-16 14:24:56
【问题描述】:

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

提前感谢您的帮助!

【问题讨论】:

    标签: java fonts swt styledtext monospace


    【解决方案1】:

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

    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();
    }
    

    看起来像这样:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-01
      • 2013-03-06
      • 2020-12-17
      • 2012-10-20
      • 1970-01-01
      相关资源
      最近更新 更多