This project is a Notepad (Text Editor) clone developed as part of my Second Semester coursework.
It provides essential text editing features through a simple and user-friendly graphical user interface built with Java Swing. The primary objective of this project was to gain hands-on experience with GUI development, event-driven programming, object-oriented design, and file handling in Java while building a real desktop application.
- Language: Java (JDK 8+)
- GUI Framework: Java Swing & AWT
- IDE: NetBeans
- Concepts: File I/O, ActionListeners, Exception Handling
- File Operations:
- 📄 Create a new text document
- 📂 Open existing text files
- 💾 Save text files to local storage
- 🖨️ Print documents
- Editing Tools:
- ✂️ Cut, Copy, Paste functionality
- ✅ Select All
- User Interface:
- ⌨️ Keyboard shortcuts (Accelerators) for faster operation
- ℹ️ 'About' dialog displaying application information
This project highlights my understanding of the following core Java concepts:
- Java Swing Components: Usage of
JFrame,JTextArea,JMenuBar,JScrollPane, and Dialogs. - Event Handling: Implementing
ActionListenerto handle button clicks and menu selections. - File Handling: Using
FileReader,FileWriter, andBufferedReaderfor Input/Output operations. - GUI Layouts: Managing component placement within the window.
Notepad-Clone-Java
│
├── src
│ ├── Notepad.java // Main entry point and GUI logic
│ └── About.java // Logic for the 'About' window
│
├── nbproject // NetBeans configuration files
├── dist // Distribution files (JAR)
├── notepad.png // App Icon
├── windows.png // Additional assets
└── README.md // Documentation
---
## ▶️ How to Run the Project
1. Open **NetBeans IDE**
2. Click **Open Project**
3. Select this project folder
4. Run the `Notepad` class
5. The text editor window will appear
---
## 📸 Screenshots
<p align="center">
<img src="notepad.png" width="120"/>
</p>
*(Screenshots can be expanded later for better visualization.)*
---
## 🚀 Future Improvements
- Add multi-tab support
- Add font customization (size, style, color)
- Convert project into a runnable `.jar` with installer
- Improve UI styling
---
## 👨🎓 Academic Context
- Semester: Second Semester
- Course: Object-Oriented Programming (Java)
- Project Type: Desktop Application
---
## 📬 Contact
- Email: **[email protected]**
- LinkedIn: *(to be added)*
---
<p align="center">
<i>Developed as a learning project to strengthen Java GUI and file handling concepts.</i>
</p>