Drukowanie ramki JFrame i jej komponentów
Pracowałem w dużym programie i jedną z jego funkcji powinno być drukowanie zawartości głównego okna. Sprawdziłem API i znalazłem ten przykład:
http://docs.oracle.com/javase/tutorial/2d/printing/gui.html
było to bardzo pomocne, próbowałem użyć tego kodu w moim programie, umieszczając go w metodzie działania przycisku drukowania:
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 */
}
}
Jeśli kliknę przycisk drukowania, otrzymam okno dialogowe drukarki, a kiedy mówię, że ma drukować, po prostu drukuje pusty dokument. Wiem, że powyższy kod nie jest wszystkim, czego potrzebuję, jak widziałem w przykładach API, jest metoda print (), ale najwyraźniej nigdy jej nie wywołują, więc jest dość myląca. Próbowałem dzwonić i używać go wiele razy, ale bez powodzenia.
Ponadto myślę, że kiedy w końcu uda mi się go wydrukować, moje okno będzie musiało zostać wydrukowane w orientacji poziomej, może nawet wymagać skalowania. Masz jakieś pomysły, jak to zrobić?
Chciałbym, aby każda użyteczna pomoc pomogła mi skutecznie wdrożyć ten kod. Wiem, że powinienem być w stanie zrobić to sam, sprawdzając dokumentację (próbowałem już prawie 2 dni), ale nie mogę go uruchomić. Nauczyłem się wszystkich programów, które znam przez Internet. Każda pomoc zostanie bardzo doceniona.