【问题标题】:How can I add \t spacing in a String that belongs to a DefaultListModel which belongs to a JLIst?如何在属于属于 JLIst 的 DefaultListModel 的字符串中添加 \t 间距?
【发布时间】:2016-12-14 09:14:39
【问题描述】:

我在某处听说不能在 GUI 中添加 \t(制表符)间距,这是真的吗? \t 是否仅适用于 System...println 等?

无论如何,我怎么能导致标签间距?

JList 的当前代码和预览

     Code | String.format("%s \t %s \t %s", string1, string2, string3);
     Preview | string1 string2 string3

预期预览

     string1         string2           string3

 

其他测试

我确实尝试在例如之间添加一个空格字符串

     String space = "        ";
     String.format("%s %s %s %s %s", string1, space, string2, space, string3);

但间距与多个 JList 模型不一致。

有解决办法吗?

谢谢。

【问题讨论】:

    标签: java string jframe


    【解决方案1】:

    JList支持HTML格式,所以你可以这样使用:

    DefaultListModel<String> model = new DefaultListModel<>();
    
    StringBuilder builder = new StringBuilder();
    
    builder.append("<html><pre>");
    builder.append(String.format("%s \t %s \t %s", "str1", "str2", "str3"));
    builder.append("</pre></html>");
    
    model.addElement(builder.toString());
    

    见:Can Items in a JList be formatted as HTML

    【讨论】:

    • 这很好用!现在我有另一个问题 - 这更多是我的错,因为没有意识到 \t 不起作用。每当我执行建议时,它会按照预期的方式工作,但不是我想要的等间距,以便 string2 和 string3 完全对齐。如果 string1 的长度不同,则不会发生这种情况。有任何想法吗?自从您回答了原始问题以来,我会将其标记为已回答,但是如果您可以让我知道这是否可能,请告诉我。谢谢!
    • 上述答案完美无缺,但我也有与@MohammedZakariya 相同的问题,因为我也希望它们之间有相等的空间
    猜你喜欢
    • 2017-04-29
    • 2016-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-10
    • 1970-01-01
    • 2013-04-06
    相关资源
    最近更新 更多