Go to:
cvs.sourceforge.net/.../anthonyed\
en/lib/io/JTextAreaWriter.java?rev=1.4&content-type=text/vnd.viewcvs-markup
for an example of a class which implements a Writer where all data sent to the
writer gets inserted into a JTextArea. You could apply the concepts within to
create a PrintStream instead and then use System.setOut() and System.setErr() to
force it to use your PrintStream instead.
Is this what you want or did I misunderstand your question?