Текстовое пространство ячейки JTable не отображается при печати

#java #swing #printing #jtable

Вопрос:

способ печати таблицы.

 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);
        }
    }
 

Столбец таблицы вывода приложения выглядит следующим образом (правильно).

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

Но печатная копия печати выглядит так:(Отсутствует пробел между некоторыми словами).

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

Как преодолеть эту проблему? Я погуглил, но не нашел соответствующего решения.

Комментарии:

1. Может быть, показать пример того, как создается ваша JTable, размер и т. Д.? Интересно, что JTable. PrintMode.NORMAL не помог…

Ответ №1:

Это произошло из-за шрифта «Microsoft без засечек» для JTable. Я изменил шрифт на «Тахома». Это работает.