JAVA drukowanie


(Atuzar) #1

Witam mam pytanie jak zrobić coś takiego:

  1. Pierwsza i podstawowa sprawa jak coś wydrukować w javie z polskimi znakami (za kawałek kodu będę wdzięczny).

  2. Czy jest możliwość drukowania w javie nie z pliku. Czyli wydrukować jakiś string albo zawartość np jtextarea?

  3. Posiadam plik zapisany w xml tak aby się otwierał w excelu z odpowiednim formatowaniem (pogrubienie, ustawienie napisu w odpowiednim miejscu) czy jest możliwość coś takiego wydrukować zachowując to formatowanie??

Za wszelką pomoc dziękuję. Kombinowałem już na wiele sposobów ale nic mi się nie udało. Aha i dobrze by było aby było to drukowanie bez potwierdzeń czyli wciskam przycisk drukuj i wsio.


(Proktor86adv) #2
  1. Jest taka możliwość - od wersji 1.5 (albo 1.6, nie pamiętam dokładnie) każdy komponent Swinga ma przeciążone metody print() pozwalające na drukowanie ich zawartości. A jeżeli chcesz drukować takie elementy jak napisy, linie itd. to musisz zaimplementować interfejs Printable i w metodzie print, korzystając z obiektu Graphics(2D), zdefiniować co ma być drukowane (tak jakbyś rysował na ekranie, z tym że w tym wypadku idzie to na drukarkę). Następnie tworzysz obiekt PrinterJob i dodajesz do niego obiekty tej klasy. Nie wchodzę w szczegóły bo mając nazwy tych podstawowych dla drukowania klas znajdziesz resztę na google.

  2. Bez użycia jakichś dodatkowych bibliotek raczej nie.


([alex]) #3
  1. W WinAPI jest na to dwie funkcji: MultiByteToWideChar oraz WideCharToMultiByte przekodowujące za ich pomocą da się przejść z każdego kodowania na każde inne. W javie musi być coś podobnego niewykluczone że nawet z podobnymi nazwami.

http://java.sun.com/j2se/1.4.2/docs/api ... coder.html