ToDoList is a simple Java Swing-based application that allows users to manage their daily tasks through an intuitive, lightweight interface. It demonstrates modular programming in Java, clean code architecture, and event-driven GUI design.
- Add, edit, and delete tasks
- Mark tasks as complete/incomplete
- Persistent storage of tasks between sessions
- Responsive, resizable window layout
- Modular code organization using Java 9+ modules
- Java Development Kit (JDK) 11 or higher
- Maven or your preferred Java build tool
The project has the following structure:
.
├── README.md
├── LICENSE
├── To_Do_List_screenshot.png
├── module-info.java # Module descriptor for Java module
└── classes/
├── ToDoList.java # Main launcher class
├── AppFrame.java # Main frame containing GUI components
├── TitleBar.java # Custom title bar component
├── Footer.java # Footer panel with status/info
├── List.java # Panel displaying the list of tasks
└── Task.java # Model class for a task
-
Clone the repository
git clone https://github.com/yourusername/ToDoList.git cd TooList
-
Build the project
mvn clean package
Or compile manually:
javac -d out --module-source-path src $(find src -name "*.java")
-
Run the application
java --module-path out -m ToDoList/com.example.todolist.ToDoList
- Click the + button or press Enter in the input field to add a new task.
- Double-click a task to edit its description.
- Click the checkbox next to a task to mark it complete or incomplete.
- Click the ✖ button on a task to delete it.
- Use the File menu to export or import task lists (future enhancement).
Contributions are welcome! Please open issues for bugs or feature requests, and submit pull requests for improvements.
This project is licensed under the MIT License. See the LICENSE file for details.