Introduction - If you have any usage issues, please Google them yourself
Use of existing ActionListener events are the UI thread, if the corresponding function to run longer, it will cause a UI can not refresh in time, the method uses a thread from another execute the corresponding function the way, does not affect the UI refresh