Into the Sky: Hours 1-2

So in the first two hours of my project, I’ve programmed some basic GUI code.  I’m using Java and Swing for the front end since I have a good deal of experience with it.  The way I see it, an RPG needs a few core features in the GUI: A way to display stats, inventory, skills, etc., a console for displaying messages and chats, and a main screen to display whatever is happening in the RPG world.  I decided that I would use a sidebar on the left side of the screen with tabs for Stats, Skills, and Inventory with a Text Area at the bottom for displaying item/skill/stat descriptions.  Then the main screen would be on the right side above the chat/console window.  Everything is thrown together using JSplitPanes so that the user can customize the sizing of all the elements based on how the like it.  I started with the main code and adjusted down to the subcomponents since I prefer a top down approach.  The final product is in the picture below and all of the code is available at my github at

You’ll notice the sidebar has separate tabs for each category, making it pretty easily expandable.  At some point I will probably add a settings or some such.  I’ve also included some example items for each tab.  The bottom console has a text area for displaying console messages and a text input area for chatting.  Lastly there’s the screen, where I’ve implemented a small example for how it will be set up.  I’m using the JPanel class with a GridBagLayout and making a 2D array of JLabels with ImageIcons for the background images.  Since I’m shooting for a D&D style grid based game, I figured this would make it the easiest to implement.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s