Well i may not be the best for this but here goes nothing
so u have it look like this:
JFrame
|
Canvas
|
GameStateManager
|
States
|
Objects
in the JFrame u just make a simple JFrame and add the Canvas to that. In the canvas you make it extends Canvas(duhh) and implement runnable because ur main game loop will be in there. Now in you canvas your going to want a gamestatemanager object so that in each method (draw, tick, keyPressed, keyREleased etc.) you will just put gsm. (Assuming you named ur object gsm) now in your game state manager you going to need and array list holding all your states and in the constructor add those states to your array list… now in each method inside the gamestatemanager (draw, tick, etc.) just put states.get(currentState). (assuming u named your array list states) now you got the basic structure set up! now make your states like menu and play. in you play class (where the game would take place) you would then draw and tick all your objects (That would flow all the way down the line back to the canvas) so in your objects is where the game takes place, and all the other stuff just links them all together.
Srry for the wall of txting language text but i hope this helped ^.^ (Also this might not be the most efficent way of handling this but this is how i do it)
P.S. Next time you have a question post it in the Newbie section… you will get more responses wayyyy faster