Should all JLabel.setText () calls go through the EDT?
Yes, all calls that change user interface components must be made from EDT.
For some background information, you can check: Why should user interface elements always be created / updated from the user interface stream?