【问题标题】:How to display data to a JtextArea in java with exact text alignment same from the txt filejava - 如何以与txt文件相同的精确文本对齐方式将数据显示到Java中的JtextArea
【发布时间】:2022-01-03 00:53:00
【问题描述】:

当我将数据附加到 Java 中的 JTextArea 时,它不会复制对齐方式。

【问题讨论】:

    标签: java swing jframe jtextarea


    【解决方案1】:

    手头可能有 2 个问题。如果您的原始文本文件使用制表符而不是空格来对齐其列,您需要在 JTextArea 组件上设置相同的制表符大小。

    见JavaDoc for setTabSize(int)

    其次,对齐只能使用单字字体(其中每个字符具有相同的视觉宽度)才能真正实现。

    见JavaDoc for setFont(Font)

    我刚刚找到 Guillaume Polet 的 this answer,他在其中描述了通过简单地将 monospaced 指定为字体名称来获得通用等宽字体的方法:

    JTextArea textArea = new JTextArea(24, 80);
    textArea.setFont(new Font("monospaced", Font.PLAIN, 12));
    

    【讨论】:

    • 我目前正在使用这种格式将数据写入txt文件
    • 字符串格式 = "%-15s %-15s %-15s";
    • 它完全是文本文件,但是当再次检索并放入 jtextarea 时,对齐不正确。
    • 因此,您在JTextArea 中输入文本,使用上述格式字符串将其保存到.txt 文件中,然后将其加载回JTextArea,但使用磨损对齐?
    • @newbee 记得accept his answer(应用绿色勾号)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    • 2020-10-08
    • 2015-08-19
    • 1970-01-01
    相关资源
    最近更新 更多