Drukowanie w Javie co i jak.

1

Oczywiście zapoznałem się z podstawami, jednak drukowanie w Javie wydaje mi się bardzo niewygodne, nie wspominając że zazwyczaj tutoriale opisują jak wydrukować np. całe JTable. Oczywiście zapoznałem się z : http://docs.oracle.com/javase/tutorial/2d/printing/index.html

Zobaczcie jednak jak wygląda przykładowy program podany przez oracla i przyjrzyjcie się szczególnie okolicom .addGroup Przecież to horror.

http://docs.oracle.com/javase/tutorial/displayCode.html?code=http://docs.oracle.com/javase/tutorial/uiswing/examples/misc/TextAreaPrintingDemoProject/src/misc/TextAreaPrintingDemo.java

Odkrył ktoś jakiś przyjaźniejszy sposób na drukowanie?

Dla mnie bardzo fajnie organizuje to C# w formsach. Mamy kontrolki takie jak: PageSetupDialog, PrintDialog, PrintDocument, PrintPrevievControl, PrintPrevievDialog.

Oczywiście w Javie mamy okienko z ustawieniami druku. Jednak w C# wszystko jest bardzo intuicyjne, a raczej w .NET, bo pisałem program drukujący nawet w F#. Łatwo narysować coś na obrazku, odpowiednio przekazać i łatwo ustawić. Potem można na wyspecjalizowanej kontrolce obejrzeć podgląd. Wszystko łatwo zrozumieć i kod tego jest krótki.

0

Wiem, że nie związane z tematem, ale Oracle poszło na łatwiznę i wygenerowało sobie połowę kodu w NetBeans, nawet nie usunęli komentarzy "Do not modify this code" :D

0

Niezbyt sympatyczny sposób do nauki. Nie znalazłem też książki, która dobrze by to omawiała. Nawet ludzie na blogach pokazują wycinek kodu od oracla i z dumą pokazują jak wydrukować komponent dokładnie taki jak widzimy na ekranie lub pokazują jak stringa wydrukować po prostu.

Wiadomo, że jak chcemy np. wydrukować jakieś zestawienie, to chcemy prostą tabelkę zrobić o swoim wyglądzie, która będzie dobrze się mieściła na stronie w odpowiednich miejscach przeskakiwać na kolejną stronę, a nie że połowę wyrazu mam na jednej str.

Jest chociażby jakiś odpowiednik PrintPrevievControl?

0
shusty napisał(a):

Wiadomo, że jak chcemy np. wydrukować jakieś zestawienie, to chcemy prostą tabelkę zrobić o swoim wyglądzie, która będzie dobrze się mieściła na stronie w odpowiednich miejscach przeskakiwać na kolejną stronę, a nie że połowę wyrazu mam na jednej str.

A czy we wspomnianym i chwalonym .NET miałeś powyżej opisywane bajerki? Wydaje mi się, że nie ma znormalizowanego API do takich zadań. Nie wiem jak chciałbyś opisywać co i jak ma się stać z tą tabelką, jak się kończy dla niej miejsce wzdłuż lub w szerz, która kolumna jaką ma mieć szerokość. Szukając na siłę można użyć np. HTML albo wygenerować PDFa i tegoż puścić na drukarkę.

0

Oczywiście, że taką tabelkę sam musiałbym zrobić. W C# tego nie ma też. Chciałbym natomiast jakąś pomoc w internecie o tym znaleźć. Wiadomo, że bardzo dużo programów coś takiego robi i jest to bardzo często stosowane, więc ktoś powinien w jakiejś książce to opisać.

Co do samego API to chciałbym bardziej intuicyjnego rozwiązania rodem z .NETa

0

Nie wiem czy dokładnie ci o to chodziło, ale spróbuj JasperReports.

Zobaczcie jednak jak wygląda przykładowy program podany przez oracla i przyjrzyjcie się szczególnie okolicom .addGroup Przecież to horror.

Kodu wygenerowanego i oznaczonego "Generated code" nie warto czytać tak czy siak. Mógłbyś poczytać XMLa znajdującego się w pliku .form, ale to też ma mało sensu - to jest po prostu do edycji graficznym designerem.

1 użytkowników online, w tym zalogowanych: 0, gości: 1