0
Я пытаюсь отправить JTable и JPanel в принтер одного задания печати, как это:Печать нескольких компонентов
PrintRequestAttributeSet attr = new HashPrintRequestAttributeSet();
attr.add(OrientationRequested.LANDSCAPE);
MessageFormat header = new MessageFormat("Page {0}");
Printable p1 = table.getPrintable(JTable.PrintMode.FIT_WIDTH, header, null);
PageFormat pf = new PageFormat();
Printable p2 = new ComponentPrinter().returnIt(jPanel1);
Book book = new Book();
book.append(p1, pf);
book.append(p2, pf);
PrinterJob pj = PrinterJob.getPrinterJob();
pj.setPageable(book);
if (pj.printDialog(attr)){
try {
pj.print(attr);
} catch (PrinterException ex) {
Exceptions.printStackTrace(ex);
}
}
Моя проблема, это только печатает первые печати добавлены в книгу; в этом случае JTable. Если я поменяю порядок и сначала добавлю панель, тогда она будет печатать только панель. Может кто-нибудь указать на ошибку?
Любая помощь [здесь] (http://stackoverflow.com/a/10251531/230513)? – trashgod
К сожалению, нет. Это почти то же самое, что и я. Это дало мне идею попробовать методы printDialog() и print() вместо параметров с параметрами. Диалоговое окно принтера затем отображает 2 страницы для печати, но только печатает один. Я попробовал напечатать ТОЛЬКО вторую страницу, но затем печать застряла. –
Ответ [здесь] [здесь] [здесь]: http: //stackoverflow.com/questions/14775753/printing-multiple-jtables-as-one-job-book-object-only-prints-1st -table? rq = 1 –