Project for FIS. Program with GUI that can add, remove, and control library inventory.
Reviewer of this program should not get discouraged by abundance of methods, classes, and code in general. While it may seem overwhelming, most classes and methods highly resemble each other, with only minor differences.
The program has to have the following properties:
- GUI for displaying the program.
- non-GUI main class for working with program through presumably IDE.
- OOP approach to project.
- Must have hieararchical structure of classes.
- Adding objects to library.
- Removing objects from library.
- Reading a .txt with libary data.
- Writing a .txt with library data.
- Library objects must be sorted and displayed according to their properties.
-
The program has two main classes.
-
Class MainGUI interacts with program with JavaFX GUI.
-
Class Main interacts with program without GUI. This class is mandatory for the assignment.
-
Package gui holds all the classes related to running and supporting MainMethodGUI.
-
MainMethodGUI runs the program and displays the main window.
-
AlertBox class holds methods of additional windows that MainMethodGUI can call through buttons. AlertBox also holds error windows.
-
PeripheralBox has brief, simple methods that other GUI classes utilize. These methods were causing too much clutter when integrated into other classes.
-
AddItemBox has windows for adding ojbects to library. 16 methods for 16 objects.
-
AddItemBox class adds items to library; inventoryDisplay package shows items in library.
-
Package inventory holds classes which are 16 objects that can be added to the library.
-
Package inventory also holds LibraryDatabase class which is a collection of ArrayLists of 16 library objects.
-
All classes (except Inventory) also include FX for displaying TableView of information. This was previously done through special package and set of classes, but is now merdeg with original classes for brevity.