Create a JavaFX GUI application named IceCreamOrder that helps you to determine the cost of one ice cream order. The application should have the following appearance when first started (note that chocolate is selected by default):
The above GUI is a scene that holds an HBox, and the HBox in turn holds three TitledPane objects (with the titles “Flavors”, “Toppings”, and “Order”). The user can select flavor and any number of extras. When they press the Calculate Cost button, then a dialog box with the following style of content it presented to the user:
All ice cream flavors are $2.25. Each extra is 0.50. So, the in the example above, the cone is 2.25, nuts are 0.50 and cherries are 0.50, for a total of 3.25. The Michigan 6% tax is added on for a total of 3.45.
One specific order can be saved at any time. When an order is saved, the information stored on the disk is the flavor and the extras. The file should be named icecream.txt, and the file will always have exactly three lines of text, of the general format:
The first line is “Vanilla”, “Chocolate” or “Strawberry”.
The second line is always “With_Nuts” or “Without_Nuts”.
The third line is always “With_Cherries” or “Without_Cherries”.
So, for example, a saved order might look like:
At any point in time, the user can press the Restore button, and the last saved order will be displayed on the user interface. If there is no file available (nothing has been saved yet) and the user presses Restore, then have the following Alert ERROR message shown to the user:
Used the required class name of IceCreamOrder, spelled correctly (same upper and lowercase letters, no extra symbols or numbers). points Don’t leave large numbers of blank lines in your Java code (you can use a single blank line to separate one part of the program from another, but don’t use multiple blank lines). Variable names start with a lowercase letter. Use “public static final” for all numeric constant values, AND also for the name of the “icecream.txt” data file. These names should be all uppercase with underscores between the words. Use meaningful names for variables, classes and methods. Avoid names like x and y. Put a javadoc, /** to */, comment at the start of every class. The main class (the class that has the main method) should include a short description of the class followed by the author’s name, the current date, and the name of the course. Indentation Inline comments should line up with the code just below the inline comment . All components look professional and are nicely formatted, such as monetary values are all shown will two digits after the decimal point.