Lo que necesitas es que todo el proceso de lectura, analisis del xml lo hagas dentro de otro thread en lugar de hacerlo en el thread principal esa es la razon por la que los mensajes no aparecen sino hasta el final, para eso usa esta clase SwingWorker, si usas jdk6 esa clase ya viene incluida, si usas otro jdk la clase la consigues en:
https://swingworker.dev.java.net, te dejo un link donde encontraras informacion detallada de la clase:
http://mundojava.blogspot.com/2006/1...ingworker.html
salu2