I have a general question on OOP design in java. I am implementing a basic software. I have separate packages for my Gui design and my main classes. I am wondering what is the best approach to link these two sets. For example, in gui, I have a JFrame with a table that should be filled with some data I am getting from classes in "main" package. Should I implement it in "gui" class it self? or maybe it is better to have a middle class and call its method to get the data from classes in "main" ??? I am not sure what is the best approach to have a good OO design.