- (25 points) You can execute my BoxLayoutDemo.jar file
if you have any doubt about whether or not a student's solution is working.
- (5 points) The layout should be horizontal
- (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.
- (10 points) Within each group there should be 20 pixels of space between each
pair of buttons.
- (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
- (12 points) MVC organization. The application should be
organized using the MVC organization I outlined in class and
in the notes.
- (3 points) Package organization:
Each file is in a package named SliderApp.
- Text View
- (5 points) Text is horizontally and vertically centered
- (3 points) The text's initial value corresponds to the default value
provided by the user
- Slider View
- (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)
- (3 points) The initial default value of the slider corresponds to the default value provided by the user
- Behavior
- (2 points) Slider's value ranges from the minimum to the maximum value provided by the user
- (2 points) Increment button increments the slider value by the amount specified by the user.
- (2 points) Decrement button decrements the slider value by the amount specified by the user.
- (2 points) When the increment/decrement button is clicked,
the value label is updated
- (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.
- (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.
- (5 points) Slider updates: When the slider view is updated,
the gauge view is updated.
- Gauge view
- (8 points) Initial presentation: The gauge looks like
the gauge in my SliderApp.jar file.
- (3 points) The initial default value of the gauge corresponds to the default value provided by the user
- (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.
- (5 points) Gauge updates: When the needle moves, the
remaining views have their values updated.
- (6 points ) Resizing the window to make it bigger (do not worry
about making it smaller)
- Text view: Text stays centered in its view
- 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.
- 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.