打印时未显示 JTable 单元格文本 space

JTable cell text space not shown when print out

打印 table 的方法。

public static void PrintTable(JTable table,String title) {
        try {
            MessageFormat headerFormat = new MessageFormat(title);
            MessageFormat footerFormat = new MessageFormat("{0}");
            boolean complete = table.print(JTable.PrintMode.FIT_WIDTH,headerFormat, footerFormat);
            if (complete) {
                JOptionPane.showMessageDialog(null, "Printing Completed.");
            }else {
                JOptionPane.showMessageDialog(null, "Printing Canceled !");
            }
            } catch (PrinterException e) {
                e.printStackTrace();
                JOptionPane.showMessageDialog(null,e);
        }
    }

应用程序输出 table 列看起来像这样(正确)。

| Address                     |
  :--------------------------
| Kathmandu Nepal
| Kirtipur 5 Kathmandu Nepal  |
| Baneswor 10 Kathmandu Nepal |
| Balkhu 2 Kathmandu Nepal    |

但是打印出来的硬拷贝是这样的:(在一些单词之间缺少 space)。

| Address                  |
 :------------------------
| Kathmandu Nepal
| Kirtipur5KathmanduNepal  |
| Baneswor10KathmanduNepal |
| Balkhu2KathmanduNepal    |

如何克服这个问题?我用谷歌搜索但没有找到相关的解决方案。

这是由于 JTable 的 'Microsoft Sans Serif' 字体造成的。我把字体改成了'Tahoma'。有效。