I have been working with JFrame, JPanel, etc. for a very long time now and I have developed a package full of class files that I made in order to handle multiple shapes on a JPanel along with animations, collisions, drawing images in replacement of shapes, and even to handle KeyListeners and user input.
click here to check out the source code
I am coming to realize though that despite all of this work I have done, I don't feel comfortable making games that are a bit more advanced like a little rpg game or something. I am talking making a bunch of shapes, displaying pre-made images on the JPanel. Something I imagine would take around a month to make.
I was hoping that by making these group of classes it would make it easier to make something like that. But like I said, I am uneasy about doing it. I really don't feel that I have everything nailed down or that making something like this is actually necessary to make a more advanced game, as if there is some kind of Java interface that can use instead to make my life a little easier when making a game.
By making this entire package to do all of this stuff, am I heading in the right direction, or wasting my time? Feel free to ask me to emphasize.
The whole thing that I used to make those shapes and collisions was a complete waste of time. I called it the graphics engine. It doesn't work because the objects had to be initialized in a static way. So every object in the game had to be initialized at the start of the game. I found a better system where the object for the player, let's say, doesn't even exist when you are on the main menu. I also learned to use enumeration and abstract classes to organize what kind of objects there will be in the game, now I can even go as far as to code every component's individual behavior. (Like the behavior of enemies and the player.)
So this method that I was using was a complete waste of time.