A modern, dark-themed file explorer built with JavaFX. It features a tree-based folder navigation panel, a tile/grid view for folder contents, breadcrumb path navigation, recursive search, disk usage indicators, and thumbnail previews for images and videos.
- Tree Navigation — Expandable folder tree with lazy-loading of subdirectories
- Tile/Grid View — Responsive tile layout that adjusts to window size
- Breadcrumb Bar — Click any segment to navigate directly; click to edit the full path
- Back/Forward Navigation — Mouse side buttons, Alt+Left/Right, or toolbar buttons
- Recursive Search — Type in the search bar to find files/folders recursively
- Image Thumbnails — Asynchronous loading with caching for JPG, PNG, GIF, BMP, WebP, HEIC, AVIF, TIFF
- Video Thumbnails — First-frame extraction via FFmpeg (MP4, MKV, AVI, MOV, etc.)
- Disk Usage Bars — Progress bars showing free/total space on each drive
- Dark Theme — Aqua accent colors on a dark background
- Java 21 or later (OpenJDK or Oracle JDK)
- Maven 3.9+ (or use the included Maven Wrapper)
# Clone the repository
git clone https://github.com/johneliades/file_explorer.git
cd file_explorer
# Compile
./mvnw compile # Linux/macOS
mvnw.cmd compile # Windows
# Run
./mvnw javafx:run # Linux/macOS
mvnw.cmd javafx:run # Windowssrc/main/java/com/johneliades/fileexplorer/
├── FileExplorer.java # Application entry point & main window layout
├── config/
│ └── UIConfig.java # Centralized color & size constants
├── ui/
│ ├── FilePanel.java # Individual file/folder tile widget
│ ├── FileTree.java # Left-side tree view with lazy loading
│ ├── FolderViewManager.java # Right-side grid/tile view & search
│ ├── NavigationController.java # Back/forward history & coordination
│ └── TopNavigation.java # Toolbar: breadcrumbs, path field, search
└── utils/
├── FileUtils.java # File extension, size formatting, hashing
└── ImageUtils.java # Icon selection, thumbnail loading, FFmpeg
| Library | Purpose |
|---|---|
| JavaFX 17 | UI framework |
| JavaCV / FFmpeg | Video thumbnail extraction |
| TwelveMonkeys ImageIO | WebP, HEIC, TIFF image support |
| Action | Shortcut |
|---|---|
| Navigate back | Alt + Left / Mouse Back |
| Navigate forward | Alt + Right / Mouse Forward |
| Open folder | Double-click tile / Single-click tree |
| Open file | Double-click tile |
| Edit path | Click breadcrumb bar |
| Search current folder | Type in search field |
| Clear search | Escape |
| Context menu (file) | Right-click a tile → Open, Cut, Copy, Rename, Delete, Properties |
| Context menu (background) | Right-click empty area → Paste, New Folder, Refresh, Properties |
This project is open source. See the repository for license details.