java - String.format 在控制台中工作但在 JOptionPane 中不起作用

标签 java swing

我以为我只是个白痴,毫无疑问我仍然是个白痴,但是这段代码:

String name = (String)getValueAt(selectedRow,0)+" "+(String)getValueAt(selectedRow,1)+
                " "+(String)getValueAt(selectedRow,2);   
String city = ((String)getValueAt(selectedRow,4));
String message = String.format("Name: %30s\nCity: %30s", name, city);
System.out.println(message);
JOptionPane.showMessageDialog(CandidateTable.this, message);

在控制台中得到的结果是我想要的格式:

enter image description here

但是,在 JOptionPane 中:

enter image description here

我在这里和谷歌搜索了解决方案,并浏览了oracle教程和文档,但似乎找不到任何东西,这让我觉得我犯了一个愚蠢的错误。

我是吗?

最佳答案

private String[][] data = {
    {"Name:", "Mr Nick Woodward"},
    {"City:", "Reading"},
    {"Long:", "Supercalafragalisticexpyaladocious"},
};

private String getTable() {
    StringBuilder sb = new StringBuilder("<html><table>");

    for (String[] row : data) {
        sb.append("<tr>");
        sb.append("<td>");
        sb.append(row[0]);
        sb.append("</td>");
        sb.append("<td style='text-align: right;'>");
        sb.append(row[1]);
        sb.append("</td>");
        sb.append("</tr>");
    }

    return sb.toString();
}

enter image description here

关于java - String.format 在控制台中工作但在 JOptionPane 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45198011/

相关文章:

java - 使用命令行执行类时出现异常

java - 在线程中启动 doLayout() 怎么样?

从 Eclipse 文件夹加载 Java HTML 文件

java - 如何根据组合框选择更改 UI

java - Swing 和处理线程

Java方法生成通过实例变量传递的随机数

java - 如何在 Java 中初始化一个数组?

java - 如何将动态编译的字节重新编码为文本?

java - Maven Java 不会对非详尽开关发出警告

java - 如何在不删除以前绘制的东西的情况下重新绘制