You say you've read a bunch, but it seems your understanding of the basic concepts are still a bit off. That's okay, it's not an easy topic. Try reading this Lesson
to see if it clears up anything for you. In this discussion you should more clearly understand what is meant by "Swing is not thread safe," and see that the programmer should not create other Threads to run with the Swing app in the EDT.
i seriously don't understand where do i have to do it or if i am doing it right because i feel the program runs just the same.
Then try to clarify your questions. We can't know what "runs just the same" means. It sounds like you're experiencing unacceptable/noticeable delays in GUI performance and you're wondering how to fix that, but I'm not sure I understand what you're asking. Also, it's difficult to tell the source of the problem without seeing a runnable example that demonstrates what you've tried and what you're seeing. Granted, if your example involves searching a large database, you can't show that so don't try, but give a better explanation. Based on the little bit you've shown, it does appear that you're doing it wrong, so hopefully the Lesson I pointed you to will help.
Come back when you're ready to discuss further.