Lab5
Lab5
Lab5
1
Project 4. Employee Management (HR)
▪ Objectives: Learn how to manipulate complex objects and manage data in the form of
tables.
▪ Tasks to accomplish:
o Create an Employee class with attributes such as first name, last name, position,
salary, etc.
o Use a JTable to display employee information.
o Implement functionalities to add, modify, delete, and search employees.
o Add a sorting feature for employees by various criteria (name, salary, seniority).
Project 5. CSV File Reader
▪ Objectives: Learn how to work with external files (CSV) and display data in a graphical
interface.
▪ Tasks to accomplish:
o Implement a button to load a CSV file and display the data in a JTable.
o Allow modification of data directly in the table.
o Add a button to save the changes back to the CSV file.
o Implement error-handling mechanisms for file format issues.
Project 6. Advanced Text Editor
▪ Objectives: Learn how to create a full-featured text editor with formatting and file
management capabilities.
▪ Tasks to accomplish:
o Create a text editor using a JTextArea and menus for functions such as copy,
paste, cut, etc.
o Add a toolbar for formatting (fonts, sizes, styles).
o Implement file management features such as saving, opening, and handling text
files using JFileChooser.
o Implement an "Undo/Redo" system.
Project 7. Investment Portfolio Management
▪ Objectives: Understand the management of financial data and display interactive
reports.
▪ Tasks to accomplish:
o Create an Investment class with attributes such as name, invested amount,
return, etc.
2
o Use a JTable to display investments.
o Implement profitability calculations and graphs to show investment progress.
o Add options to add, delete, and modify investments.
Project 8. Contact Management Application (Address Book)
• Objectives: Learn how to manage contacts as objects and display them interactively.
• Tasks to accomplish:
o Create a Contact class with information such as name, email, and phone number.
o Use a JList or JTable to display contacts.
o Implement features to add, delete, and search contacts.
o Add a feature to sort contacts by name or category.
Project 9. Data Analysis Dashboard
▪ Objectives: Learn to work with external data (CSV), display graphs and statistics.
▪ Tasks to accomplish:
o Create an interface with various graphical components to display statistics (bars,
histograms, etc.).
o Load data from a CSV file or a database (use JTable to display raw data).
o Add graphs (e.g., using JFreeChart or another Swing chart tool).
o Calculate averages, trends, and display these results.
Project 10. Pong Game
▪ Objectives: Understand time management and event handling in a game, user
interaction.
▪ Tasks to accomplish:
o Create the logic for the Pong game with paddles and a ball.
o Use events to detect player movements (keyboard or mouse).
o Implement a score that increases as a player scores points.
o Add features such as changing the ball's speed based on score or time.
Project 11. Cash Register Simulator
▪ Objectives: Learn to create a transaction interface with interactive elements.
▪ Tasks to accomplish:
o Create an interface where users can add products, display the total, apply
discounts, etc.
3
o Use buttons to add items, a JTable to display the list of added items.
o Calculate the total and apply discounts if necessary.
o Add a button to print receipts.
Project 12. Student Grades Management
▪ Objectives: Create a system for managing academic results.
▪ Tasks to accomplish:
o Create a Student class with attributes such as name, grade, and subject.
o Use a JTable to display students' grades by subject.
o Add buttons to add grades, modify, or delete entries.
o Implement the logic to calculate the average grades and display the result.
Project 13. Personal Budget Management Application
▪ Objectives: Learn to manage financial data and visualize it through graphs.
▪ Tasks to accomplish:
o Create a Transaction class with attributes such as amount, category, and date.
o Create an interface to add transactions (income or expenses).
o Use a JTable to display transactions and calculate the balance.
o Add graphs (e.g., a pie chart to visualize expenses by category).
Project 14. Store Inventory Management
▪ Objectives: Learn to manage an inventory with objects and display the data dynamically.
▪ Tasks to accomplish:
o Create a Product class with information such as name, quantity, and price.
o Use a JTable to display available stock products.
o Implement features to add, modify, delete products, and adjust quantities.
o Add a notification feature when stock reaches a critical threshold.
Project 15. Quiz Management System
▪ Objectives: Learn to manage interactive question/answer sessions using Swing
components.
▪ Tasks to accomplish:
o Create a Question class with attributes such as the question, answer options, and
correct answer.
o Use a JComboBox or JRadioButton to display answer options.
4
o Implement logic to verify answers and calculate the user's score.
o Add a timer system to limit the response time.
Project 16. File Explorer
▪ Objectives: Create an interface to navigate directories and manage files.
▪ Tasks to accomplish:
o Create a graphical interface with a tree view (JTree) to display directory
structure.
o Implement features to open, rename, delete files or folders using JButton.
o Add a search field to find a specific file or folder.
o Implement a system to display detailed information about files (size, creation
date, etc.).