report_java_oop_gui
report_java_oop_gui
Date: 09-01-2024
Executive Summary
This report presents a comprehensive exploration of the application of Java Swing
and Object-Oriented Programming (OOP) in the creation, reading, and updating of
CSV files. Leveraging the power of Java's AWT API and employing robust CSV
reader strategies, this project stands as an exemplary demonstration of efficiency,
flexibility, and user-centric design in data handling applications.
Overview:
The primary goal of this project was to develop a versatile data management
system using Java Swing and OOP principles. This system not only creates, reads,
and updates CSV files but also ensures a seamless user experience through the
integration of Java's AWT API and sophisticated CSV reader strategies.
In the pursuit of creating a versatile and efficient GUI application for Asher Stock
Collective, this report details the development process undertaken using IntelliJ
IDEA as the primary Integrated Development Environment (IDE). Leveraging a
combination of learning resources, including YouTube tutorials, programming
books, articles, blogs, google, and Stack Overflow, including the official
documentation of Java, Java Swing, Java AWT, and Java CSV Reader. This
project aimed to construct a user-friendly application capable of creating, reading,
and updating CSV files. The application was crafted to integrate Java AWT API
for enhanced user interaction and the CSV reader API for robust file management.
Research Methods:
1. Learning Resources:
2. Development Environment:
IntelliJ IDEA: The IDE of choice for this project, IntelliJ IDEA, offered a
feature-rich environment that streamlined coding, debugging, and project
management tasks.
Integrating Java AWT API and Java CSV
Reader API
1. AWT Basics:
Java's Abstract Window Toolkit (AWT) serves as the foundation for creating
graphical user interfaces (GUIs). Understanding the basics involves
importing necessary packages (java.awt.*) and initializing essential
components such as Frame, Button, TextField, and Label.
2. Frame Creation:
3. Component Addition:
Populate the frame with components such as buttons, text fields, and labels.
These elements enhance user interaction and serve as the building blocks of
the application.
4. Event Handling:
Import the necessary classes for CSV reading. Depending on the chosen
library (e.g., OpenCSV, Apache Commons CSV), include the library in the
project and import the relevant classes.
Create a CSVReader object to facilitate the reading of CSV files. Utilize try-
with-resources to handle potential I/O exceptions. Iterate through the lines of
the CSV file, extracting and processing data as needed.
3. Configuration Options:
6. Error Handling:
7. Application-Specific Logic:
Self-Reflection
Strengths:
The core strength of this work is seen in the logic of the application. The
application does exactly what is needed of it. Based on the fact that the Java Swing
API was consumed appropriately, Java AWT was consumed without errors, the
Java Comma comma-separated values (CSV) is functioning as it is supposed to,
and the create, read, and update methods from the algorithm works perfectly well.
Weaknesses:
The necessary enhancements, what I feel could be done better, is the application
user interface design. It could be enhanced visually with graphical aesthetics, fonts,
images, and graphical ambiance. Thereby creating a modern user experience for
the end user.
Conclusion:
The development of the Asher Stock Collective GUI application showcases the
successful integration of Java Swing and AWT API to create a robust, user-
friendly tool for managing CSV files. The utilization of diverse learning resources,
combined with IntelliJ IDEA as the development environment, facilitated a holistic
approach to application development. The strategic use of try-and-catch blocks, for
loops, and if-else statements reflect an adherence to best coding practices, ensuring
a reliable and efficient application.
Java™ Platform, Standard Edition 21, (2024). Interface Map<K, V>. [online]
Available at: https://docs.oracle.com/en/java/ [Accessed Jan 3, 2024].