如何在JTextArea中设置文本格式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在JTextArea中设置文本格式相关的知识,希望对你有一定的参考价值。

我正在尝试输出多行文本来创建ASCII艺术。但是当我使用JFrame和JTextArea时,它没有正确排列。我正在尝试打印Merry Christmas in ASCII art但是当我在一个新窗口中打印出来时The characters do not line up to form the words这是我当前的代码(ASCII艺术中会有一些无用的字符):

public class LanguageChristmas  {


    public static void main(String args[]) {
        UIManager.put("swing.boldMetal", Boolean.FALSE);
        JFrame f = new JFrame("Merry Christmas");
        f.addWindowListener(new WindowAdapter() {
           public void windowClosing(WindowEvent e) {System.exit(0);}
        });
        JTextArea text = new JTextArea(100,50);
         {
            text.append("   _____                               _________ .__          .__          __                                           "+ "
");
            text.append("  /     \   __________________ ___.__. \_   ___ \|  |_________|__| _______/  |_  _____ _____    ______   /     \ " + "
");
            text.append(" /  \ /  \_/ __ \_  __ \_  __ <   |  | /    \  \/|  |  \_  __ \  |/  ___/\   __\/     \\__  \  /  ___/  /  \ / " + "
");
            text.append("/    Y    \  ___/|  | \/|  | \/\___  | \     \___|   Y  \  | \/  |\___ \  |  | |  Y Y  \/ __ \_\___ \  /    Y    " + "
");
            text.append("\____|__  /\___  >__|   |__|   / ____|  \______  /___|  /__|  |__/____  > |__| |__|_|  (____  /____  > " + "
");
            text.append("        \/     \/              \/              \/     \/              \/             \/     \/     \/           " + "
");

        }
        JScrollPane pane = new JScrollPane(text);
        pane.setPreferredSize(new Dimension(500,400));
        f.add("Center", pane);
               f.pack();
        f.setVisible(true);
    }
}`

我一直在搜索,但没有找到解决这个问题的方法。任何帮助都很有用。

答案

问题是,默认情况下,文本区域使用可变宽度字体。将字体更改为等宽字体将解决问题,例如

   text.setFont(new Font(Font.MONOSPACED, Font.PLAIN, 12));

以上是关于如何在JTextArea中设置文本格式的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Java GUI 中设置 JTextArea 的自动滚动?

在片段中设置文本颜色

如何在MainActivity中设置Fragment的数据

如何在android的片段中设置应用程序上下文?

Ag Grid 部分单元格格式 - 例如如何在单元格中设置一些文本样式 - 粗体、斜体、彩色(但不是其他文本)

在 wpf 中的格式化文本中设置上标和下标