1. (25 points) You can execute my BoxLayoutDemo.jar file if you have any doubt about whether or not a student's solution is working.
    1. (5 points) The layout should be horizontal
    2. (10 points) The buttons should be divided into two groups with group 1 consisting of buttons 1, 2, and 3 and group 2 consisting of buttons long-named button 4 and 5. If the window is made bigger, group 1 should cling to the left side of the window and group 2 should cling to the right side of the window.
    3. (10 points) Within each group there should be 20 pixels of space between each pair of buttons.

  2. (75 points): You can execute my SliderApp.jar file if you have any doubts as to whether or not a student's solution is accurate. Within each category use your judgment in deciding how many partial credit points to assign

    1. (12 points) MVC organization. The application should be organized using the MVC organization I outlined in class and in the notes.

    2. (3 points) Package organization: Each file is in a package named SliderApp.

    3. Text View
      1. (5 points) Text is horizontally and vertically centered
      2. (3 points) The text's initial value corresponds to the default value provided by the user

    4. Slider View
      1. (5 points) The elements of the slider view are correctly displayed (i.e., decrement button is on the left side of the display, the increment button is on the right side of the display, and the slider is in the middle of the display)
      2. (3 points) The initial default value of the slider corresponds to the default value provided by the user
    5. Behavior
      1. (2 points) Slider's value ranges from the minimum to the maximum value provided by the user
      2. (2 points) Increment button increments the slider value by the amount specified by the user.
      3. (2 points) Decrement button decrements the slider value by the amount specified by the user.
      4. (2 points) When the increment/decrement button is clicked, the value label is updated
      5. (2 points) When the slider value is not at its maximum/minimum value and the increment/decrement button would cause the slider to move outside its acceptable range, the value is incremented/decremented to the maximum/minimum value.
      6. (2 points) When the slider value is at its maximum/minimum value and the increment/decrement button would cause the slider to move outside its acceptable range, the dialog box is popped up with an appropriate error message.
      7. (5 points) Slider updates: When the slider view is updated, the gauge view is updated.

    6. Gauge view
      1. (8 points) Initial presentation: The gauge looks like the gauge in my SliderApp.jar file.
      2. (3 points) The initial default value of the gauge corresponds to the default value provided by the user
      3. (5 points) Behavior: When you click and drag the mouse within 10 pixels of the endpoint of the needle, the needle follows the cursor around the gauge and the endpoint of the needle stays pegged to the gauge's boundary. Conversely, if you click and drag ore than 10 pixels from the endpoint of the needle, nothing should happen.
      4. (5 points) Gauge updates: When the needle moves, the remaining views have their values updated.
    7. (6 points ) Resizing the window to make it bigger (do not worry about making it smaller)

      1. Text view: Text stays centered in its view
      2. Slider view: Something reasonable happens in the slider view. Having the slider view remain static without one or more components re-sizing to handle the additional space is unacceptable. It is acceptable for the buttons not to resize vertically and for the objects in the slider view to re-center themselves vertically, but something has to resize when the width of the view is changed.
      3. Gauge view: The diameter of the arc must be the minimum of the width or 2 times the height of its JPanel and the gauge must retain the same value.