Implement the Inventory Program for a product that I will choose for you. You will be informed of the selected product in Week 4 in a post titled “Inventory Program Product Selection”. I will deduct points for programs that implement products at your workplace, office supplies, music CDs, DVD movies, and software. You must also name your classes per the guidelines that I set. I do not want a class with a generic name of “Product”.
Create a separate class for the selected product that holds the item number, the name of the product, the department in which the product belongs, the number of units in stock, and the price of each unit. You must use the class name that is specified in the “Inventory Program Product Selection” post.
Create a Java application that displays the product number, the name of the product, the department name, the number of units in stock, the price of each unit, and the value of the inventory (the number of units in stock multiplied by the price of each unit). Pay attention to the good programming practices in the text to ensure your source code is readable and well documented.
Modify the Inventory Program so the application can handle multiple items. Use an array to store the items. The output should display the information about one product at a time, including the item number, the name of the product, the department of the product, the number of units in stock, the price of each unit, and the value of the inventory of that product. In addition, the output should display the value of the entire inventory.
Create a method to calculate the value of the entire inventory.
Create another method to sort the array items by the name of the product.
Modify the Inventory Program by creating a subclass of the selected product’s class that uses one additional unique feature of the product that has been selected for you. You must use the subclass name and additional unique feature that are specified in the “Inventory Program Product Selection” post. In the subclass, create a method to calculate the value of the inventory of a product with the same name as the method previously created for the product class. The subclass method should also add a 5% restocking fee to the value of the inventory of that product. Please re-read the post titled “Inventory Program Product Selection” for details on the subclass.
Modify the output to display this additional feature you have chosen and the restocking fee.
Modify the Inventory Program to use a GUI. The GUI should display the information one product at a time, including the item number, the name of the product, the department in which the product belongs, the number of units in stock, the price of each unit, and the value of the inventory of that product. In addition, the GUI should display the value of the entire inventory, the additional attribute, and the restocking fee.
Modify the Inventory Program by adding a button to the GUI that allows the user to move to the first item, the previous item, the next item, and the last item in the inventory. If the first item is displayed and the user clicks on the Previous button, the last item should display. If the last item is displayed and the user clicks on the Next button, the first item should display.
Add a company logo to the GUI using Java graphics classes.
Modify the Inventory Program to include an Add button, a Delete button, and a Modify button on the GUI. These buttons should allow the user to perform the corresponding actions on the item name, department name, the number of units in stock, and the price of each unit. An item added to the inventory should have an item number one more than the previous last item.
Add a Save button to the GUI that saves the inventory to a C:datainventory.dat file.
Use exception handling to create the directory and file if necessary.
Add a search button to the GUI that allows the user to search for an item in the inventory by the product name. If the product is not found, the GUI should display an appropriate message. If the product is found, the GUI should display that product’s information in the GUI.