A simple JavaFX Login System that allows users to create accounts, log in, and reset passwords. This project demonstrates authentication logic, UI design using JavaFX, and user validation using a HashMap. I will advance it using Database in the future.
- Create Account
- Login
- Password Reset
- Logout Functionality
- Input Validation
- Password Confirmation
- Notification Messages
- Hover Effects on Buttons
- Multi-Screen Navigation
- Temporary User Storage using HashMap
- Java
- JavaFX
- HashMap (User Storage) - temporary before advancing to Databases
- GridPane Layout
- HBox Layout
- Event Handling
- PauseTransition (for notifications)
JavaFX-Login-System/ │ ├── src/ │ └── com/ │ └── example/ │ └── LoginSystem.java │ ├── images/ │ ├── menu.png │ ├── create-account.png │ ├── login.png │ ├── reset-password.png │ └── welcome.png │ ├── pom.xml └── README.md
Make sure you have:
- Java JDK 17 or later
- JavaFX SDK installed
- Maven installed
- Clone the repository:
git clone https://github.com/hassan200503/JavaFX-Login-System.git
- Navigate into the project folder;
cd LoginSystem
- Run the project;
mvn clean javafx:run
-
User enters;
- Username
- Password
- Confirm Password
-
System checks;
- Passwords match
- Username is not empty
-
Account is stored in a HashMap temporarily.
-
User enters username and password
-
System checks;
- Username exists
- Password matches
-
If correct;
- User is logged in
- Welcome message is displayed
User must provide:
- Username
- Old Password
- New Password
- Confirm Password
System checks;
- Username exists
- Old password matches
- New passwords match
If valid;
- Password is updated
- Success notification is displayed
- JavaFX UI Design
- Event Handling in JavaFX
- HashMap-based User Authentication
- Input Validation
- Password Reset Logic
- Navigation Between Screens
- UI Feedback using Notifications
- Hover Effects in JavaFX
- PauseTransition
- Database connection
- Add unique username validation
- Implement password hashing
- Use external CSS styling
- Add database support (MySQL)
- Improve UI styling
Hassan Karungwa
GitHub: https://github.com/hassan200503
NOTE;
This project is part of my JavaFX learning.
GOALS
- Master JavaFX and Java basics very well
- Build 50+ projects
- Learn Databases(SQL)
- Learn APIs
- Learn Web development basics
Since I love coding, I will do this.
Become a powerful software developer and a real problem solver.




