Programavimas

Spausdinimas „Java“ kalba, 1 dalis

Ankstesnis 1 2 2 puslapis 2 puslapis iš 2

Atvaizdavimo modeliai

„Java“ yra du spausdinimo modeliai: Spausdinti darbo vietų ir Puslapiu darbo vietų.

Spausdintuvai

Spausdinti darbai yra paprastesni iš dviejų spausdinimo modelių. Šis modelis naudoja tik vieną „PagePainter“ visam dokumentui. Puslapiai pateikiami eilės tvarka, pradedant nuliniu puslapiu. Kai atspausdinamas paskutinis puslapis, jūsų „PagePainter“ turi grąžinti NO_SUCH_PAGE vertė. Spausdinimo posistemis visada prašys, kad programa puslapius pateiktų eilės tvarka. Pavyzdžiui, jei jūsų prašoma pateikti puslapius nuo penkių iki septynių, spausdinimo posistemis paprašys visų puslapių iki septintojo puslapio, tačiau spausdins tik penkis, šešis ir septynis puslapius. Jei jūsų programoje rodomas spausdinimo dialogo langas, bendras spausdinamų puslapių skaičius nebus rodomas, nes naudojant šį modelį neįmanoma iš anksto žinoti dokumento puslapių skaičiaus.

Puslapiai

Puslapiu darbai suteikia daugiau lankstumo nei Spausdinti darbo vietų, nes kiekvienas puslapis a Puslapiu darbas gali turėti skirtingą išdėstymą. Puslapiu darbai dažniausiai naudojami su Knygas, puslapių, kurie gali būti skirtingų formatų, rinkinys. Aš paaiškinsiu Knyga klasė per akimirką.

A Puslapiu darbas turi šias savybes:

  • Kiekvienas puslapis gali turėti savo tapytoją. Pvz., Galite turėti dailininką, kuris spausdintų viršelį, kitą - turinį, trečią - visą dokumentą.
  • Kiekvienam knygos puslapiui galite nustatyti skirtingą puslapio formatą. A Puslapiu darbą, galite maišyti portreto ir kraštovaizdžio puslapius.
  • Spausdinimo posistemis gali paprašyti jūsų programos spausdinti puslapius iš eilės, o prireikus kai kurie puslapiai gali būti praleisti. Vėlgi, jūs neturite jaudintis dėl to, jei galite pateikti bet kurį savo dokumento puslapį pagal pareikalavimą.
  • Puslapiu darbui nereikia žinoti, kiek puslapių yra dokumente.

Knygos

Taip pat nauja, nes 1.2 versija yra Knyga klasė. Ši klasė leidžia jums sukurti kelių puslapių dokumentus. Kiekvienas puslapis gali turėti savo formatą ir savo tapytoją, suteikdamas jums galimybę kurti sudėtingus dokumentus. Kadangi Knyga klasė įgyvendina Puslapiu sąsają, galėtumėte įdiegti savo Knyga klasė, kai numatyta Knyga klasėje trūksta reikiamų funkcijų.

A Knyga klasė reiškia puslapių rinkinį. Pirmą kartą sukūrus Knyga objektas tuščias. Norėdami pridėti puslapių, tiesiog naudokite vieną iš dviejų pridėti () metodus (daugiau informacijos žr. mano šios klasės paaiškinimą API skyriuje). Šio metodo parametrai yra „PageFormat“ objektas, apibrėžiantis fizines puslapio savybes, ir a „PagePainter“ objektas, kuris įgyvendina Spausdinti sąsaja. Jei nežinote, kiek puslapių jūsų dokumente yra, tiesiog perduokite UNKNOWN_NUMBER_OF_PAGES vertė pridėti () metodas. Spausdintuvo sistema automatiškai ras puslapių skaičių paskambinusi visiems knygos puslapių tapytojams, kol gaus a NO_SUCH_PAGE vertė.

API apibrėžimas

Šiame skyriuje susitiks teorija ir praktika. Ankstesniuose skyriuose sužinojome apie puslapio struktūrą, matavimo vienetus ir atvaizdavimo modelius. Šiame skyriuje apžvelgsime „Java“ spausdinimo API.

Visos klasės, reikalingos spausdinti, yra java.awt.print paketą, kurį sudaro trys sąsajos ir keturios klasės. Šiose lentelėse apibrėžtos spausdinimo paketo klasės ir sąsajos.

vardasTipasapibūdinimas
PopieriusKlasėŠi klasė apibrėžia puslapio fizines savybes.
„PageFormat“Klasė„PageFormat“ apibrėžia puslapio dydį ir orientaciją. Taip pat apibrėžiama kuri Popierius naudoti pateikiant puslapį.
„PrinterJob“Klasė

Ši klasė valdo spausdinimo užduotį. Jos atsakomybė apima spausdinimo užduoties sukūrimą, spausdinimo dialogo lango rodymą, kai reikia, ir dokumento spausdinimą.

KnygaKlasė

Knyga reiškia dokumentą. A Knyga objektas veikia kaip puslapių rinkinys. Puslapiai įtraukti į Knyga gali būti vienodi ar skirtingi formatai ir gali naudoti skirtingus tapytojus.

PuslapiuSąsajaA Puslapiu įgyvendinimas reiškia spausdinamų puslapių rinkinį. Puslapiu objektas pateikia bendrą rinkinio puslapių skaičių ir „PageFormat“ ir Spausdinti nurodytam puslapiui. Knyga klasė įgyvendina šią sąsają.
SpausdintiSąsajaPuslapio tapytojas turi įdiegti Spausdinti sąsaja. Šioje sąsajoje yra tik vienas metodas, spausdinti ().
SpausdintuvasGrafikaSąsaja Grafika objektas įgyvendina šią sąsają. SpausdintuvasGrafika teikia „getPrinterJob“ () būdas gauti spausdintuvo užduotį, kuri sužadino spausdinimo procesą.

Puslapio sąsaja

Puslapiu sąsaja apima tris metodus:

Metodo pavadinimasapibūdinimas
int getNumberOfPages ()Grąžina dokumento puslapių skaičių.
„PageFormat“ getPageFormat (int pageIndex)Grąžina puslapio „PageFormat“ kaip nurodo puslapisIndex.
„PrintPrintable“ (int pageIndex)Grąžina Spausdinti instancija, atsakinga už puslapio nurodymą puslapisIndex.

Spausdintina sąsaja

Spausdinti sąsajoje yra vienas metodas ir dvi reikšmės:

vardasTipasapibūdinimas
„int print“ (grafinė grafika, „PageFormat pageFormat“, „int pageIndex“)Metodas

Prašo, kad grafika, naudodama nurodytą puslapio formatą, pateiktų nurodytą puslapį.

NO_SUCH_PAGEVertėTai yra pastovus dalykas. Grąžinkite šią vertę nurodydami, kad nebėra spausdintinų puslapių.
PAGE_EXISTSVertė spausdinti () metodas grąžinamas PAGE_EXISTS. Tai rodo, kad puslapis buvo perduotas kaip parametras spausdinti () buvo pateiktas ir egzistuoja.

Kiekvienas puslapio dailininkas turi įdiegti Spausdinti sąsaja. Kadangi yra tik vienas būdas įgyvendinti, gali atrodyti, kad puslapių dailininkus lengva sukurti. Tačiau nepamirškite, kad jūsų kodas turi sugebėti perteikti bet kurį puslapį iš eilės arba iš eilės.

Yra trys parametrai spausdinti (), įskaitant Grafika, kuri yra ta pati klasė, kuria piešta ekrane. Kadangi Grafika klasė įgyvendina „PrinterGraphic“ sąsają, galite gauti „PrinterJob“ kad suaktyvino šią spausdinimo užduotį. Jei jūsų puslapio maketas yra sudėtingas ir reikalingos pažangios piešimo funkcijos, galite perduoti Grafika parametras a Grafika2D objektas. Tada turėsite prieigą prie visos „Java 2D“ API.

Prieš pradėdami naudoti Grafika objektas, atkreipkite dėmesį, kad koordinatės nėra išverstos į viršutinį kairįjį spausdintinos srities kampą. Norėdami rasti numatytosios kilmės vietą, žr. 3 paveikslą.

(0, 0) pasirodo viršutiniame kairiajame spausdintuvo paraštės kampe. Norėdami atspausdinti 1 x 1 colio stačiakampį, 1 colio atstumu nuo viršutinės ir kairės paraštės, naudokite šį kodą:

1: viešasis int spausdinimas (grafinė grafika, „PageFormat pageFormat“, „int pageIndex“) {2: grafika2D grafika2D = (grafika2D) grafika; 3: stačiakampis2D. Dvigubas stačiakampis = naujas stačiakampis2D. Dvigubas (); 4: stačiakampis.setRect (pageFormat.getImageableX () + 72, 5: pageFormat.getImageableY () + 72, 6: 72, 7: 72); 8: grafika2D.draw (stačiakampis); 9: grįžimas (PAGE_EXISTS); }

Iš ankstesnio pavyzdžio matome, kad stačiakampio kilmę turime rankiniu būdu išversti taip, kad ji būtų atspausdinta spausdinimo srities viršuje, kaip parodyta 1 paveiksle. Norėdami supaprastinti kodą, galėtume vieną kartą išversti koordinates ir naudoti (0, 0 ) kaip spausdinamos srities kilmę. Pakeitę ankstesnį pavyzdį, gausime:

1: viešasis int spausdinimas (grafinė grafika, „PageFormat pageFormat“, „int pageIndex“) {2: grafika2D grafika2D = (grafika2D) grafika; 3: grafika2D.translate (pageFormat.getImageableX (), pageFormat.getImageableY ()); 4: stačiakampis2D. Dvigubas stačiakampis = naujas stačiakampis2D. Dvigubas (); 5: stačiakampis.setRect (72, 72, 72, 72); 6: grafika2D.draw (stačiakampis); 7: grįžimas (PAGE_EXISTS); 8:}

Naudojant versti () metodas 3 eilutėje, galime išversti koordinates ir spausdinimo srities viršuje nustatyti savo kilmę (0, 0). Nuo šio momento mūsų kodas bus supaprastintas.

„PrinterGraphics“ sąsaja

SpausdintuvasGrafika sąsaja susideda iš vieno metodo:

Metodo pavadinimasapibūdinimas
„PrinterJob getPrinterJob“ ()Grąžina „PrinterJob“ šiai pateikimo užklausai ir ją įgyvendina Grafika klasė

Popieriaus klasė

Aštuoni metodai sudaro Popierius klasė:

Metodo pavadinimasapibūdinimas
dvigubas getHeight ()Šis metodas pateikia puslapio fizinį aukštį taškais (1 colis = 72 taškai). Pavyzdžiui, jei spausdinate laiško dydžio puslapyje, grąžinimo vertė bus 792 taškai arba 11 colių.
dvigubas getImageableHeight ()Šis metodas pateikia puslapio įsivaizduojamą aukštį. Įsivaizduojamas aukštis yra spausdinimo srities, ant kurios galite piešti, aukštis. Vaizduojamos srities grafinį vaizdą žr. 1 paveiksle.
dvigubas getImageableWidth ()Šis metodas pateikia puslapio įsivaizduojamą plotį (spausdinimo srities plotį, ant kurio galite piešti). Vaizduojamos srities grafinį vaizdą žr. 1 paveiksle.
dvigubas getImageableX ()Šis metodas pateikia vaizduojamos srities x kilmę. Kadangi paraštės nėra palaikomos, grąžinimo vertė reiškia kairę.
dvigubas getImageableY ()Šis metodas pateikia vaizduojamos srities y kilmę. Pagal šį metodą grąžinta vertė yra lygi viršutinei paraštei.
dvigubas getWidth ()Šis metodas pateikia puslapio fizinį plotį taškais. Jei spausdinate ant „letter“ dydžio popieriaus, plotis yra 8,5 colio arba 612 taškų.
void setImageableArea (dviguba x, dviguba y, dvigubas plotis, dvigubas aukštis)Šis metodas nustato vaizduojamą plotą ir nurodo paraštes puslapyje. Tiesą sakant, API nepateikia jokio metodo, kaip aiškiai nustatyti paraštes; juos turite apskaičiuoti patys.
void setSize (dvigubas plotis, dvigubas aukštis)Šis metodas nustato fizinį puslapio dydį. Norėdami apibrėžti 8,5 x 11 colių lapą, pateikite 612 ir 792 taškus. Atminkite, kad numatytasis dydis yra LAIŠKAS.

Prieš pereidami į kitą skyrių, nepamirškite, kad Popierius klasė apibrėžia puslapio fizines savybes. „PageFormat“ klasė atstovauja visos puslapio savybės, tokios kaip puslapio orientacija, dydis ir popieriaus rūšis. Ši klasė visada perduodama kaip parametras Spausdinti sąsaja spausdinti () metodas. Naudokite Popierius gauti vaizduojamos srities vietą, dydį ir puslapio orientaciją kartu su transformacijos matrica.

„PageFormat“ klasė

„PageFormat“ susideda iš 12 metodų:

Metodo pavadinimasapibūdinimas
dvigubas getHeight ()Šis metodas pateikia puslapio fizinį aukštį taškais (1 colis = 72 taškai). Jei jūsų puslapio dydis yra 8,5 x 11 colių, tada grąžinimo vertė bus 792 taškai arba 11 colių.
dvigubas getImageableHeight ()Šis metodas pateikia puslapio įsivaizduojamą aukštį, tai yra spausdinimo srities, ant kurios galite piešti, aukštį. Vaizduojamos srities grafinį vaizdą žr. 1 paveiksle.
dvigubas getImageableWidth ()Šis metodas pateikia puslapio įsivaizduojamą plotį - spausdinimo srities, ant kurios galite piešti, plotį. 1 paveiksle pavaizduotas vaizduojamos srities grafinis vaizdas.
dvigubas getImageableX ()Šis metodas pateikia vaizduojamos srities x kilmę.
dvigubas getImageableY ()Šis metodas pateikia vaizduojamos srities y kilmę.
dvigubas getWidth ()Šis metodas pateikia puslapio fizinį plotį taškais. Jei spausdinate ant laiško dydžio popieriaus, plotis yra 8,5 colio arba 612 taškų.
dvigubas getHeight ()Šis metodas pateikia puslapio fizinį aukštį taškais. Pavyzdžiui, laiško dydžio popierius yra 11 colių aukščio arba 792 taškų.
dviguba [] getMatrix ()Šis metodas pateikia transformacijos matricą, kuri paverčia vartotojo erdvę į pageidaujamą puslapio orientaciją. Grąžinimo vertė pateikiama formatu, kurio reikalaujama „AffineTransform“ konstruktorius.
int getOrientation ()Šis metodas grąžina puslapio orientaciją kaip bet kurią PORTRETAS arba KRAŠTAS.
void setOrientation (int orientacija)Šis metodas nustato puslapio orientaciją, naudojant konstantas PORTRETAS ir KRAŠTAS.
Popierius „getPaper“ ()Šis metodas pateikia Popierius objektas, susietas su puslapio formatu. Ankstesniame skyriuje rasite aprašą Popierius klasė.
void setPaper (popierinis popierius)Šis metodas nustato Popierius objektas, kurį naudos „PageFormat“ klasė. „PageFormat“ turi atlikti prieigą prie fizinių puslapio charakteristikų, kad galėtų atlikti šią užduotį.

Tai užbaigia puslapių klasių aprašymą. Kita klasė, kurią mokysimės, yra „PrinterJob“.

„PrinterJob“ klasė

„PrinterJob“ klasė kontroliuoja spausdinimo procesą. Tai gali tiek iš karto, tiek valdyti spausdinimo užduotį. Žemiau rasite klasės apibrėžimą:

Metodo pavadinimasapibūdinimas
abstraktus negaliojantis atšaukti ()Šis metodas atšaukia dabartinę spausdinimo užduotį. Galite patvirtinti atšaukimą naudodami isCancel () metodas.
abstraktus loginis yra atšauktas ()Šis metodas bus teisingas, jei užduotis bus atšaukta.
PageFormat defaultPage ()Šis metodas grąžina numatytąjį puslapio formatą „PrinterJob“.
abstraktus „PageFormat“ numatytasis puslapis („PageFormat“ puslapis)Šis metodas klonuoja „PageFormat“ perduoda parametrus ir modifikuoja kloną, kad sukurtų numatytąjį „PageFormat“.
santrauka int getCopies ()Šis metodas pateikia kopijų skaičių, kurį atspausdins spausdinimo užduotis.
abstraktus niekinis rinkinys kopijos (int kopijos)Šis metodas nustato kopijų skaičių, kurį spausdins užduotis. Atkreipkite dėmesį, kad jei parodysite spausdinimo dialogo langą, vartotojai gali pakeisti kopijų skaičių (žr puslapisDialogas metodas).
abstrakti eilutė getJobName ()Šis metodas grąžina darbo pavadinimą.
statinis „PrinterJob getPrinterJob“ ()Šis metodas sukuria ir grąžina naują „PrinterJob“.
abstrakti eilutė getUserName ()Šis metodas grąžina vartotojo vardą, susietą su spausdinimo užduotimi.
santrauka „PageFormat pageDialog“ („PageFormat“ puslapis)Šis metodas rodo dialogo langą, kuris leidžia vartotojui modifikuoti „PageFormat“. „PageFormat“, perduodamas parametrais, nustato dialogo laukus. Jei vartotojas atšaukia dialogo langą, tada originalas „PageFormat“ bus grąžinta. Bet jei vartotojas priima parametrus, tada naujas „PageFormat“ bus sukurta ir grąžinta. Kadangi jis neparodys tų pačių parametrų visose operacinėse sistemose, turite būti atsargūs naudodami puslapisDialogas.
abstract void setPageable (puslapinis dokumentas)Šis metodas klausia dokumento, kad gautų bendrą puslapių skaičių. Puslapiu taip pat grąžins „PageFormat“ ir Spausdinti objekto kiekvienam puslapiui. Žr Puslapiu sąsaja, kad gautumėte daugiau informacijos.
abstract void setPrintable (spausdinamas tapytojas)Šis metodas nustato Dailininkas objektas, dėl kurio puslapiai bus spausdinami. A Dailininkas objektas yra objektas, įgyvendinantis Spausdinti klasė ir jos spausdinti () metodas.
abstract void setPrintable (spausdinamas tapytojas, „PageFormat“ formatas)Šis metodas atlieka tas pačias užduotis kaip ir abstract void setPrintable (spausdinamas tapytojas), išskyrus tai, kad jūs tiekiate „PageFormat“ kad Dailininkas naudos. Kaip nurodyta programos apibrėžime Spausdinti sąsaja, spausdinti () metodas praeina a „PageFormat“ objektas kaip pirmasis parametras.
abstraktus tuščias spausdinimas ()Šis metodas spausdina dokumentą. Tai iš tikrųjų vadina spausdinti () metodas Dailininkas anksčiau priskirtas šiai spausdinimo užduočiai.
abstraktus negaliojantis setJobName (String jobName)Šis metodas nustato spausdinimo užduoties pavadinimą.
abstraktus loginis spausdinimasDialog ()Šis metodas rodo spausdinimo dialogo langą, kuris leidžia vartotojui pakeisti spausdinimo parametrus. Atminkite, kad šios sąveikos rezultatas nebus grąžintas į jūsų programą. Vietoj to jis bus perduotas bendraamžių operacinei sistemai.
santrauka „PageFormat“ „validatePage“ („PageFormat“ puslapis)Šis metodas patvirtins „PageFormat“ perduodamas parametrais. Jei spausdintuvas negali naudoti „PageFormat“ kurį pateikėte, tada bus grąžinta nauja, atitinkanti spausdintuvą.

Knygos klasė

Septyni metodai sudaro Knyga klasė:

>

Metodo pavadinimasapibūdinimas
void append (spausdinamas tapytojas, „PageFormat“ puslapis)Šis metodas prideda puslapį prie Knyga. dailininkas ir „PageFormat“ tam puslapiui perduodami parametrais.
void append (spausdinamas tapytojas, „PageFormat“ puslapis, int numPages)Šis metodas atlieka tas pačias užduotis kaip ir void append (spausdinamas tapytojas, „PageFormat“ puslapis), išskyrus tai, kad nurodote puslapių skaičių.
int getNumberOfPages ()Šis metodas pateikia puslapių, esančių šiuo metu, skaičių Knyga.
„PageFormat“ getPageFormat (int pageIndex)Šis metodas pateikia „PageFormat“ duoto puslapio objektas.
„PrintPrintable“ (int pageIndex)Šis metodas pateikia dailininkas nurodytam puslapiui.
void setPage (int pageIndex, spausdintuvas, PageFormat puslapis)Šis metodas nustato dailininkas ir „PageFormat“ tam tikram knygos puslapiui.

Spausdinimo receptas

Spausdinimo receptas yra labai paprastas. Pirmiausia sukurkite a „PrinterJob“ objektas:

PrinterJob printJob = PrinterJob.getPrinterJob ();

Tada naudokite setPrintable () metodas „PrinterJob“, priskirkite Dailininkas prieštarauti „PrinterJob“. Atkreipkite dėmesį, kad a Dailininkas objektas yra tas, kuris įgyvendina Spausdinti sąsaja.

printJob.setPrintable (Tapytojas);

Arba galite nustatyti „PageFormat“ kartu su Dailininkas :

printJob.setPrintable (Tapytojas, pageFormat);

Galiausiai Dailininkas objektas turi įgyvendinti spausdinti () metodas:

public int print („Graphics g“, „PageFormat pageFormat“, „int“ puslapis)

Pirmasis parametras yra grafinė rankena, kurią naudosite pateikdami puslapį puslapisFormatas yra formatas, kuris bus naudojamas dabartiniam puslapiui, o paskutinis parametras yra puslapio numeris, kurį reikia pateikti.

Tai viskas, ko reikia - tai yra paprastas spausdinimas.

Įvadas į sistemą

Spausdinimo sistema, kurią sukursime šioje serijoje, bus visiškai nepriklausoma nuo „Java“ spausdinimo API. Tai leis suteikti daugiau lankstumo gaminant skirtingus rezultatus.Jo struktūra leis jums kurti dokumentus, puslapius ir spausdinti objektus. Spausdinimo objektus galėsite pridėti prie puslapio, pridėdami puslapius prie dokumento. Naudodami šią struktūrą galėsite lengvai įdiegti eksporto funkcijas į PDF arba HTML failus arba atsispausdinti tiesiai į spausdintuvą naudodami spausdinimo API. Tačiau pagrindinis sistemos tikslas yra supaprastinti spausdintų dokumentų kūrimą. Kai spausdinate naudodamiesi spausdinimo API, jūs gausite tik grafinę drobę, kuria galėsite piešti. Nepavyksta nagrinėti pastraipų, vaizdų, brėžinių, grafikos, lentelių ar einančių antraščių ir poraščių sąvokų. Kadangi turite apskaičiuoti (x, y) kilmę, spausdintinos srities plotį ir aukštį, paraštių nustatymas yra nemalonus darbas. Mūsų spausdinimo sistema pašalins visas šias silpnybes.

Išvada

Šioje pirmojoje dalyje apėmėme daug žemės. Mes apžvelgėme matavimo vienetus, puslapio struktūrą, du atvaizdavimo modelius (Puslapiu ir Spausdinti) ir Knygos, ir mes padarėme išsamų spausdinimo API paaiškinimą. Kitą mėnesį daugiausia dėmesio skirsime kodui, nes viską įgyvendinsime praktiškai. Taip pat panagrinėsime problemas, kylančias spausdinant ant kelių platformų. Žvelgdamas į 3 dalį, aš išsamiai paaiškinsiu sistemos projektą ir įgyvendinimą.

Jean-Pierre Dube yra nepriklausomas „Java“ konsultantas. Jis įkūrė „Infocom“ 1988 m. Nuo tada „Infocom“ sukūrė pritaikytas programas tokiose srityse kaip gamyba, dokumentų valdymas ir didelio masto elektros energijos tiekimo linijų valdymas. Jeanas-Pierre'as turi didelę programavimo patirtį C, Visual Basic ir Java srityse; pastaroji dabar yra pagrindinė visų naujų projektų kalba. Šią seriją jis skiria motinai, kuri mirė, kai jis rašė šį straipsnį.

Sužinokite daugiau apie šią temą

  • „Spausdinimas Java kalba“, Jeanas-Pierre'as Dubé („JavaWorld“)
  • 1 dalis. Susipažinkite su „Java“ spausdinimo modeliu (2000 m. Spalio 20 d.)
  • 2 dalis. Pirmojo puslapio spausdinimas ir sudėtingų dokumentų pateikimas (2000 m. Gruodžio 1 d.)
  • 3 dalis: Jeanas-Pierre'as Dubé'as pristato spausdinimo sistemą, veikiančią ant „Java Print API“ (2001 m. Sausio 5 d.)
  • 4 dalis: koduokite spausdinimo struktūrą
  • (2001 m. Vasario 2 d.)
  • 5 dalis. Atraskite spausdinimo sistemos palaikymo klases
  • (2001 m. Kovo 2 d.)
  • Rasite daugybę knygų, apimančių „Java AWT“, tačiau nė viena neapims šios temos šios knygos mastu. Jei rašote GUI, šalia savo kompiuterio turite turėti šią knygą: Grafinė „Java 2“, JFCAWT įvaldymas, 1 tomas, Davidas M. Geary („Prentice Hall“, 1998)

    //www.amazon.com/exec/obidos/ASIN/0130796662/javaworld

  • Ši knyga buvo naudinga pasirodžius „Java 1.1“ ir pirmoji kalbėjo apie spausdinimą „Java“: Pereinama iš „Java 1.0“ į „Java 1.1“, Daniel I. Joshi ir Pavel A. Vorobiev („Ventana Communications Group“, 1997)

    //www.amazon.com/exec/obidos/ASIN/1566046866/javaworld

  • Turbūt geriausia „Java 2D“ knyga, ši knyga aprėpia visus 2D API aspektus ir pateikia Grafika pažangių 2D kompozicijų karkasas: „Java 2D“ API grafika, Vincentas J. Hardy („Prentice Hall“, 1999)

    //www.amazon.com/exec/obidos/ASIN/0130142662/javaworld

  • Puikus įvadas į „Java 2D“ API „Pradžia nuo„ Java 2D ““, Bill Day („JavaWorld“, 1998 m. Liepos mėn.)

    //www.javaworld.com/javaworld/jw-07-1998/jw-07-media.html

Šią istoriją „Spausdinimas„ Java “, 1 dalis“ iš pradžių paskelbė „JavaWorld“.