It seems to me JAVA has a very weak/limited printing API/capability. I have an application that I need to add printing capability to it. I would like to be able to do both screen dump(graphics) and text(retrieve text from a JTextArea) printing. I have searched the net and it seems like I might have to make every class implements printable (yikes!!!). Is there a better way -- say a general-purpose printing class that I can send anything to it for printing(bet it a JFRame, JInternalFrame, JPanel or a simple string)?