RentaByte is a sleek and modern Java-based Car Rental System featuring a stylish user interface built using Java Swing and FlatLaf. This version improves usability and presentation for end-users while maintaining a strong foundation in Object-Oriented Programming (OOP) principles.
- View available vehicles
- Rent a vehicle by selecting from a table
- Return the rented vehicle
- Calculate total rental cost based on number of days
- Interactive modern GUI with FlatLaf theme
- User-friendly and intuitive layout
| Concept | Where It's Used |
|---|---|
| Abstraction | Vehicle class (abstract) |
| Inheritance | Car and SUV classes extending Vehicle |
| Polymorphism | calculateRentalCost() method overridden |
| Encapsulation | All fields are private with getters/setters |
| Aggregation | Customer has a Vehicle instance |
- Java 8 or later
- Java Swing
- FlatLaf Look and Feel (for modern UI)
RentaByteModernUI/ ├── lib/ │ └── flatlaf-3.2.jar ├── src/ │ └── RentaByteUI.java └── README.md
- Java installed (JDK 8+)
- FlatLaf
.jardownloaded and placed insidelib/
- Clone the repo or download the files.
- Download FlatLaf from here.
- Place the
.jarfile in thelibfolder. - Open terminal in the project root.
- Compile the project:
javac -cp lib/flatlaf-3.2.jar src/RentaByteUI.java- Run the program:
java -cp "lib/flatlaf-3.2.jar;src" RentaByteUI💡 On macOS/Linux, use : instead of ;
- App launches with a prompt to enter your name.
- You are greeted with a dashboard with three options:
- View Available Vehicles (Table View)
- Rent Selected Vehicle (Prompt for Days)
- Return Vehicle (Shows Rental Cost)
Example:
Name: Jal Vehicle rented: Honda City (3 days) Returned: ₹150.0 charged.All handled via GUI, no console input required.
- Add database persistence (SQLite/MySQL)
- Admin panel for managing cars
- Login system with user profiles
- Receipt generation (PDF)
- Switchable themes and dark mode
Jal Bafana
Second Year B.Tech CSE (Cyber Security)
GitHub