Primitivt API för utskrift (AWT)
Att skriva ut en frame är väldigt lätt både i Swing
och AWT. I korthet går man till väga på följande sätt.
- Skaffa en referens till Toolkit med metoden Toolkit tk = Tookit.getDefaultToolkit();
- Skaffa ett PrintJob med metoden PrintJob pj = tk.getPrintJob( theFrame,
theName, theProps );
theFrame är en referens till framen som ska skrivas ut.
theName är en sträng som namnger jobbet.
theProps är ett objekt av java.util.Properties som används
för att ge defaultvärden till fälten i utskriftsdialogen.
När ovanstående metod exekveras dyker utskriftsdialogen upp
på skärmen. Om användaren fullföljer utskriften returneras
inte null och Properties-objektet är uppdaterat till att reflektera
användarens inställningar. Om användaren avbryter returneras
null. - Skaffa en referens till PrintJob:ets Graphics-objekt med metoden
Graphics g = pj.getGraphics();
- Anropa printAll för att skriva ut aktuell komponent och dess
barn, anropa print för att skriva ut endast aktuell komponent, theFrame.printAll( g );
- Anropa theFrame.paint(
g ); för att rita i PrintJob:ets Graphics-objekt. Detta
strider inte mot regeln att endast en tråd får uppdatera skärmen,
eftersom vi inte ritar i framens Graphics-objekt och därmed inte på
verkar skärmen.
- Anropa metoderna g.dispose();
och pj.end(); för
att skicka utskriften till skrivaren.
Till slut ett exempel: Printout.java.