Connecting and printing to a printer in Java
A very good printing tutorial: http://download.oracle.com/javase/tutorial/2d/printing/index.html
Also check answers to my question about printers, the Printer Job API is what are you looking for, but checking this out will also help:
How to Send JTable data to Print Job from Java Application?
Some quick hints:
print from java: see A Basic Printing Program
status of printing job: you might be able to get something useful by using a PrintJobListener:
Implementations of this listener interface should be attached to a DocPrintJob to monitor the status of the printer job. These callback methods may be invoked on the thread processing the print job, or a service created notification thread. In either case the client should not perform lengthy processing in these callbacks.