Write a program that tests the user’s ability to memorize a sequence of colors. As shown in the sample session, the program starts off by displaying a dialog box with a list of colors that are to be memorized – red, white, yellow, green, and blue. The user then enters the colors one at a time in a text box. If the user makes a mistake, the program prints a “Sorry” message. If the user correctly enters all the colors, the program prints a “Congratulations” message. Note that when the sorry or congratulations message is printed, the window’s original components get cleared away.

As always, you are required to write elegant code. In particular, you should avoid hard coding the color values in the interior of your program. You should declare those values one time in an array at the top of the program.

Note:

  • Use a simple FlowLayout layout manager scheme.
  • Use an inner class for the listener.

As always:

  • Limit your use of class variables and instance variables – use them only if appropriate.
  • Use appropriate modifiers for your methods. The modifiers we’ve discussed are private, public, static, and final.
  • Use helping methods if appropriate.
  • Mimic the sample session precisely. In particular, note the dialog box’s text, the window’s title, and the window’s text.

Provide a hint button that causes the current color’s first letter to appear in the text box. For example, since the first color is red, the first hint should be r. The hint button must cause focus to be put on the text box (i.e., the cursor should appear within the text box without the user having to click there with the mouse). To cause focus to be put on a component, use the requestFocusInWindow method. See Sun’s API documentation for requestFocusInWindow details.

Academic Honesty!
It is not our intention to break the school's academic policy. Posted solutions are meant to be used as a reference and should not be submitted as is. We are not held liable for any misuse of the solutions. Please see the frequently asked questions page for further questions and inquiries.
Kindly complete the form. Please provide a valid email address and we will get back to you within 24 hours. Payment is through PayPal, Buy me a Coffee or Cryptocurrency. We are a nonprofit organization however we need funds to keep this organization operating and to be able to complete our research and development projects.