converted to swingworker

Bug: index out of bounds at core.paintComponent 71
Merge remote-tracking branch 'origin/threading' into threading