I have one
Thread that is working as a queue for another two thread which process the data. I may call them as DataLoader and DataProcessors.
DataLoader fires events how the progress is going on, or if processing is finished, cancelled, paused, etc. Say I want to disable some buttons when event is fired.
First I fired events using invokeLater() from DataLoader, I noticed that nothing happens. After this event fired (I had disable button code in JButton action for
testing) I pressed the button, disablation works on second pressing time wtf... Please explain me why?
I have got it working by calling invokeLater() in GUI code (Listener) and run the buttons disablation code inside it.