Just a quick suggestion:
It really helps if you declare your GUI components as "final" variables. A variable that is final can only be assigned once. This way you can never overwrite it by accident...