A simple Java Swing desktop application for creating, editing, organizing, and exporting local notes.
- Create, save, rename, and delete notes
- Auto-save while editing
- Search notes by title
- Pin important notes to keep them at the top
- Markdown preview for common formatting
- Export notes as
.txtfiles - Word and character counts
- Created and modified timestamps
- Undo and redo keyboard shortcuts
- Multiple visual themes and page styles
- Java
- Java Swing
- Local file storage
Notes App/
+-- Main.java
+-- model/
| +-- Note.java
+-- service/
| +-- NoteService.java
+-- ui/
| +-- MainFrame.java
+-- notes/
- JDK 8 or newer
Check your Java installation:
java -version
javac -versionFrom the project root, compile the application:
javac Main.java model/Note.java service/NoteService.java ui/MainFrame.javaRun the application:
java MainOn Windows PowerShell, the same commands can be used from the project folder:
javac Main.java model\Note.java service\NoteService.java ui\MainFrame.java
java MainNotes are saved locally in the notes/ folder. Each note is stored as a file with metadata for creation time, modified time, and pinned status.
- Click New to create a note.
- Select a note from the sidebar to edit it.
- Use Save to manually save changes, or let auto-save handle edits while typing.
- Use Pin to keep an important note at the top.
- Use Preview to view markdown formatting.
- Use Export to save the selected note as a text file.
Ctrl + Z- UndoCtrl + Y- Redo
Compiled .class files are generated when you build the project and do not need to be committed. Consider adding this to a .gitignore file:
*.classIf you do not want sample or personal notes in the repository, also ignore the notes folder:
notes/This project is open for learning, practice, and personal use.