For those of you who use Swing to develop their real-time Java games. (Meanign a game that constantly updates game state and redraws the screen using a constant loop).
As I see it, there are three main possible approaches to designing games in Swing, in relation to threads:
1- Have the entire game (except for especially long-running tasks) run on the EDT.
2- Have the entire game run on a non-EDT thread.
3- Have clear seperation between a thread to constantly run game logic (a non EDT thread), and a thread to constantly update the screen (the EDT).
By your experience and knowledge, which approach is the most common, and/or the most efficient, and/or the most reasonable programming-wise (aka isn't relativley very complex to design)? Which approach should I use?
Help would be appreciated :) (I really want to pick up good habits).
EDIT: Clarification - Even if you don't recommend Swing for game development, please answer my question as it is. Thank you