I would not expect this to work. You can't safely use components' properties or methods in background threads. ("Use" == read or write.) That you are losing something is the least bad thing that can happen (up to and including complete client lockup). Also, print is not likely to work in a background thread (though it sometimes does). Use a logger instead.
Review this topic, then report back if you still have problems while following Swing's rules: