Capitolul 18. Conexiuni I / O
Imprimarea în Java
Deoarece imprimanta este un dispozitiv grafic, imprimarea este foarte asemănătoare cu desenarea grafică pe ecran. Prin urmare, în Java, instrumentele de imprimare sunt incluse în biblioteca grafică AWT și în sistemul Java 2D.
În componenta grafică, pe lângă contextul grafic - un obiect al clasei Graphics, este creat un alt "context tipărit". Acesta este, de asemenea, un obiect al clasei Graphics, dar implementează interfața printGraphics și este derivat dintr-o altă sursă - obiectul de clasă pentru lucrarea de imprimare inclus în pachetul java.awt. Obiectul în sine este creat utilizând clasa Toolkit a pachetului java.awt. În practică, se arată astfel:
PrintJob pj = getToolkitO .get, lucrare de tipărire (aceasta, "Titlul postului", null);
Grafică pg = pj.getGraphics ();
Metoda getPrintJob () afișează mai întâi fereastra standard de imprimare a sistemului de operare. Când utilizatorul selectează setările de imprimare din această fereastră și începe să imprime cu butonul OK, se creează un obiect pj. Dacă utilizatorul refuză să imprime folosind butonul Anulare, metoda returnează nul.
În clasa Toolkit, două metode getPrint Job ():
getPrintJob (Cadru cadru, String jobTitle, JobAttributes jobAttr,
getPrintJob (Cadru cadru, String jobTitle, Proprietăți prop)
Argumentul cadru indică fereastra de nivel superior care controlează imprimarea. Acest argument nu poate fi nul. Șirul jobTitle specifică titlul lucrării care nu este tipărită și poate fi nulă. Argumentul de propunere depinde de implementarea sistemului de tipărire, adesea este doar nul, în acest caz sunt specificate setările de imprimare standard.
Argumentul jobAttr specifică opțiunile de imprimare. Clasa JobAttributes, din care acest argument este o instanță, este complicată. Există cinci subclase care conțin constante statice - parametrii de imprimare utilizați în constructorul clasei. Cu toate acestea, există un constructor implicit care stabilește opțiunile de imprimare standard.
Argumentul pageAttr specifică parametrii paginii. Clasa de proprietăți a paginii conține, de asemenea, cinci subclase cu constante statice, care specifică parametrii paginii și sunt utilizați în constructorul de clasă. Dacă există suficienți parametri standard pentru imprimare, puteți utiliza constructorul implicit.
Nu vom lua în considerare aceste zece subclase cu zeci de constante, pentru a nu îngrădi cartea în detaliu. În plus, sistemul Java 2D oferă un set mai convenabil de clase pentru imprimare, pe care îl vom acoperi în paragraful următor.
După "context, imprimate" - pg grafic din clasa obiect - definit, puteți apela metode de imprimare (pag) SAU printAll (pag) Clasa Component. Această metodă stabilește o conexiune la imprimantă implicită și determină metoda de vopsea (pag). Efectul de imprimare este tot ceea ce este specificat prin această metodă.
De exemplu, pentru a imprima un fișier text, este necesar ca în procesul de introducere a împărțit textul în linii și metoda în vopsea metoda (pag) linia de afișare pg.drawstring () la fel ca noi le afișa în capitolul 9. În acest caz, trebuie remarcat faptul că în „contextul de imprimare“ nu este fontul implicit este întotdeauna necesar pentru a instala fontul de pg.setFont ().
După ce toate metodele de imprimare o sunt executate, se aplică metoda pg. dispose (), care solicită rularea paginii și metoda pj .endo care încheie imprimarea.
Listarea 18.7 prezintă un exemplu simplu al textului și cercul definit în vopsea metoda (> Această metodă funcționează de două ori :. Prima dată de urmărire a textului și cercul de pe ecran, a doua oară, doar o bucată de hârtie introdus în imprimantă toate metodele. Imprimatele sunt colectate într-o singură metodă SimplePrint ().
Listing 18.7. Imprimare AWT
import j ava.awt.event. *;
clasa PrintTest extinde Frame