Cave 4 - Some Examples

This project is rather open-ended about exactly how you display the information about which job is running, the creature performing the job, which artifacts that job is currently holding, and which artifacts are currently available to the party.

Here are a few sample displays from previous semesters. I post them as examples you might consider when creating your own GUI display.

To my way of thinking, none of them are perfect, but they are some of the better ones I have seen.

Perhaps they convey a little of why I think GUI displays of a multi-threading shared resource application are so important.

Example 1

  1. The vertical progress bars are cute.
  2. Notice that the top panel scrolls mostly left-right rather than up-down.
  3. The job log is detailed, but rather hard to get a quick impression.
  4. Nice use of cards to show the various displays in the central area.
  5. Uses JTabbedPane : JTabbedPane (Java Platform SE 8 )

Example 2

  1. Again the use of JTabbedPane
  2. Also, the data is displayed using JTable

Example 3

  1. The colors change as jobs complete and resources are released.
  2. But this display makes it hard to see which artifacts are being used by which job, and which artifacts belong to which groups.
  3. I feel like some effort in grouping this display would make it REALLY cool - descriptive!

Example 4

  1. This example could do with resizing, and JSplitPane to let the user resize the various panels at run time.
  2. This particular display shows the resource pools at the bottom of the screen.

Example 5

  1. Here we see an effective presentation of the resources being used by each creature and each job.
  2. I had some trouble running this program on my computer, so this image is from the documentation.

Example 6

  1. The display shows the resources available by party really nicely, but this code doesn't seem to be actually running the jobs. 
  2. It seems like the code is not actually giving the artifacts to the jobs so they can run, even if the artifacts are available.
  3. Still, the display looks like it could really convey once the code behind gets to working.
  4. Resizing could work a lot better - particularly using JSplitPane's to let the user resize stuff for their display and the number of jobs.

Example 7

  1. Particularly nice use of a table to show the resources by party, using a JTable.
  2. The job progress bars are shown in a different frame, but I don't really think that adds much.
  3. It would have been just as effective to put the progress bar panel into this display, with JSplitPane's.