#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. Я изменил шрифт на «Тахома». Это работает.