Witam,
Mam dość nie typowy problem i nie wiem do końca jak to ugryźć. Otóż tworzę projekt, który ma drukować kilka komponentów na papierze. Problem polega na tym, że klient może dodać sobie dowolną ich ilość, a wszystkie muszą się znaleźć na jednej stronie. Podszedłem do tego tak:
- Stworzyłem JPanel i ustawiłem opaque na false.
- Zaprojektowałem wszystko tak, że podczas drukowania tworzone jest przeźroczyste okno, do którego dodawany jest powyższy panel oraz wywoływana funkcja pack() i setVisible(true). Następnie zawartość okna drukowana jest na kontekście graficznym, pochodzącym z interfejsu Printable, okno zostaje zamknięte.
Gdy dodamy do panelu inne komponenty, wówczas ustawiają się na swoje miejsca w kolejności FIFO, a ich rozmiar określany jest na podstawie rozmiaru panela. Szerokość komponentu jest szerokością maksymalną panela, a wysokość komponentu jest to wysokość panela dzielona przez ilość elementów.
Przy dużej ilości komponentów to ich grafika zostaje ucięta, dlatego mam takie pytanie:
Co należy zrobić, aby każdy z tych komponentów był graficznie dopasowany do swoich rozmiarów?
Poniżej umieszczam te rzeczy, które mogą się przydać do bliższego poznania problemu:
Rysunek schematyczny panelu (obecny wygląd):
Rysunek schematyczny panelu (oczekiwany wygląd):
Proszę o pomoc i z góry dziękuję. :D