Win a copy of Kotlin in Action this week in the Kotlin forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic

Big project to track collections  RSS feed

 
Andrew Broda
Greenhorn
Posts: 6
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi there! I'm one of those over-thinker types, where I tend to stare at a blank screen and don't get the light to spark until I finally get to coding. For my final project, I need to create a program with a GUI that allows someone to track of their collections. It needs to allow the user to read, update, and modify their collection from my GUI, working within a specific GUI for each collection. The biggest part is that it needs to include a super class, with 3 subclasses, and one extra class being the subclass of one of the the sub class. Where I'm overwhelmed is not knowing where I would even need to begin to do as such. As I said I'm not asking for the code to do any of the above (that's the fun part!) rather, a more step by step process or advice on how to handle this beast to get the ball rolling.

Thanks so much everyone!
 
Carey Brown
Bartender
Posts: 2994
46
Eclipse IDE Firefox Browser Java MySQL Database VI Editor Windows
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I would suggest holding off on the GUI part and getting all the support classes running and tested first, perhaps with a textual user interface in the interim. Add one piece at a time and get that to working correctly before going to add the next piece. Making a simple class diagram on paper would also help you get a clearer picture before diving in.
 
Stefan Evans
Bartender
Posts: 1836
10
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Yeah, I understand the feeling.  I'm guilty of overthinking/overplanning/doing too much in one bite myself.
By collection we are talking about music collections?  movie collections etc ? Those sort of collections?

My first bit of advice would be to step away from the computer, and go and draw some stuff on a sheet of paper.
- figure out what your "collections" are going to be.
- figure out what information you want to capture for each "collection" 
- Sketch out the GUI you want to implement

You don't need to go into great detail - but it should kick off the thinking processes and give you some inspiration for the classes you need to define.

My next bit of advice would be:  Start small.
Start with one collection and one GUI.
Once you have that working, THEN expand it to a second.

I don't know how much you've learnt about them, but writing JUnit tests around the CRUD operations on your collections will probably help you through that part of the process. 
It also means you keep the GUI code separate from the code behind the load/save operation.

hope this helps some,
Stefan
 
Andrew Broda
Greenhorn
Posts: 6
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
It definitely helps, thank you!

So far I drew out my main concept.

SUPER (ITEM) Name, Year, Value

Sub 1 - (Console) Manufacturer, Games Owned, Generation + my required Sub of Sub (Games) Console, Genre, Rating
Sub 2 - (Wine) Brand, ABV, Country, Ounces
Sub 3 - (Rocks) Location, Type, Weight

I did the basics so far: No arg constructor, My main Constructor, and getters/setters for each. I will also be working on a to String method to each.

I also have a concept of how I want the GUI to work as well. The program has to be able to read write and modify from a file, so I know that will all be done in my GUI.

Any suggestions on where to go from here?
 
Knute Snortum
Sheriff
Posts: 4073
112
Chrome Eclipse IDE Java Postgres Database VI Editor
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Have you decided on a GUI technology?  There is Swing (old, but lots of examples), and JavaFX (new, fewer examples).  And if you pick JavaFX (which I recommend), you can create the GUI programmatically or use a graphical interface with FXML files and SceneBuilder.

For JavaFX, start here.
 
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!