Software Design and Engineering Enhancement
Before I combined both projects, I was performing a considerable amount of cleanup work on the two projects.
The reason I combined them is due to the similarities between projects. Both used a list-like structure and displayed an object with two strings.
The new goal was to take the original Jukebox concept and the Playlist UI and combine them.
The first part:
- External database to allow growth and changes to playlists. (MongoDB)
- Skipping songs and replaying songs,
- Ability to change playlists during playback (text playback).
After core functionality is implemented, I added smaller features to the UI.
These goals were accomplished, though I had hoped to include personalization and custom playlists.
How each slide is made after implementing this class.
/**
* Constructor for a slide
*
* @param str1 The title of a slide
* @param str2 The description of a slide
* @param imagePath Path to the image
*/
public Slide(String str1, String str2, String imagePath) {
this.str1 = str1;
this.str2 = str2;
this.imagePath = imagePath;
}
After I expanded on this idea, I used the slideshow UI template to plug in the strings I needed. It started out looking like this, and the end result is almost identical. (It’s Java.awt and Swing)
Large black rectangle -> the image
First thin line -> artist
Second thin line -> song title
Left Blue Button -> previous button
Right Blue Button -> next button