Ecco un tips veloce veloce su come usare la stampante in java. La prima cosa da fare è creare una classe che implementi Printable e sovraccarichi il metodo print che serve appunto per stampare. L'interfaccia Printable, le eccezioni e tutte le classi necessarie le troviamo in java.awt.print.*;
Vediamo una classe che stampa una scritta e quelche riga:

Stampa.java
---------------
import java.awt.print.*;
import java.awt.*;

public class Stampa implements Printable {

public static void main(String ag[]) throws Exception
{
  PrinterJob pj = PrinterJob.getPrinterJob();
  pj.setJobName("Tip's & Trick come stampare in java");
  pj.printDialog();
  
  pj.setPrintable(this);
  pj.print();
}

public int print(Graphics grap,
PageFormat pageFormat, int pageIndex) throws PrinterException
{
if(pageIndex > 0)
    return NO_SUCH_PAGE;
grap.setColor(Color.RED);
grap.drawString("Ciao, sono stato stampato in java", (int)pageFormat.getImageableX(),
   (int)pageFormat.getImageableY()+5);
grap.setColor(Color.GREEN);
grap.drawLine((int)pageFormat.getImageableX(), (int)pageFormat.getImageableY(),
   (int)pageFormat.getImageableWidth(), (int)pageFormat.getImageableHeight());      

return PAGE_EXISTS;
}
}
---------------

Il tips è stato testato con una lexmark z32 e col programma PDE995 che stampa su un pdf il risultato di una stampa, il tutto funziona correttamente; praticamente questo codice apre la votra finestra di dialogo di stampa che siete abituati a vedere, il risultato del programma sono la scritta in rosso "Ciao, sono stato stampato con java" e poi una linea diagonale che va dall'angolo sinistro in alto a quello destro in basso verde. Per approfondire rimando alla documentazione java.