Печать JFrame и его компонентов
Я работал в большой программе, и одна из ее функций должна заключаться в печати содержимого главного окна. Я проверил API и нашел этот пример:
http://docs.oracle.com/javase/tutorial/2d/printing/gui.html
это было очень полезно, я попытался использовать этот код в моей программе, поместив его в метод actionperformed моей кнопки печати:
PrinterJob job = PrinterJob.getPrinterJob();
job.setPrintable(this);
boolean ok = job.printDialog();
if (ok) {
try {
job.print();
} catch (PrinterException ex) {
/* The job did not successfully complete */
}
}
Если я нажимаю кнопку печати, я получаю диалоговое окно принтера, и когда я говорю ему, чтобы напечатать, он просто печатает пустой документ. Я знаю, что приведенный выше код - не все, что мне нужно, как я видел в примерах API, есть метод print (), но, очевидно, они никогда не вызывают его, так что это довольно запутанно. Я пытался звонить и использовать его много раз, но безуспешно.
Кроме того, я думаю, что когда я наконец получу его для печати, мое окно нужно будет напечатать в альбомной ориентации, оно даже может нуждаться в некотором масштабировании. Есть идеи, как это сделать?
Я хотел бы любую полезную помощь, чтобы помочь мне успешно реализовать этот код. Я знаю, что смогу сделать это сам, просто проверив документацию (я пробовал уже почти 2 дня), но я не могу заставить ее работать. Я изучил все известные мне программы через Интернет. Любая помощь будет оценена.