https://github.com/andrewauclair/moderndocking
Lightweight docking framework for Java Swing with drag-and-drop panels, floating windows, split/tabbed layouts, auto-hide, and layout persistence. Zero dependencies. Java 11+.
https://github.com/andrewauclair/moderndocking
docking java swing
Last synced: about 23 hours ago
JSON representation
Lightweight docking framework for Java Swing with drag-and-drop panels, floating windows, split/tabbed layouts, auto-hide, and layout persistence. Zero dependencies. Java 11+.
- Host: GitHub
- URL: https://github.com/andrewauclair/moderndocking
- Owner: andrewauclair
- License: mit
- Created: 2022-05-08T23:48:14.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2026-04-01T23:37:54.000Z (2 months ago)
- Last Synced: 2026-04-03T00:39:42.498Z (2 months ago)
- Topics: docking, java, swing
- Language: Java
- Homepage: https://moderndocking.readthedocs.io/en/latest/
- Size: 7.6 MB
- Stars: 146
- Watchers: 2
- Forks: 28
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Modern Docking
[](https://opensource.org/licenses/MIT)
[](https://mvnrepository.com/artifact/io.github.andrewauclair/modern-docking-api)
[](https://mvnrepository.com/artifact/io.github.andrewauclair/modern-docking-single-app)
[](https://mvnrepository.com/artifact/io.github.andrewauclair/modern-docking-multi-app)
[](https://mvnrepository.com/artifact/io.github.andrewauclair/modern-docking-ui)
Modern Docking is a simple framework designed for adding docking features to Java Swing applications.
There are many existing Java Swing docking frameworks, but they are outdated and no longer maintained. The existing frameworks also suffer from complexity due to customization features.
### Snapshots
Modern Docking snapshot binaries are available on
[Sonatype Central Portal](https://central.sonatype.com/service/rest/repository/browse/maven-snapshots/io/github/andrewauclair/).
To access the latest snapshot, change the Modern Docking version in your dependencies
to `-SNAPSHOT` (e.g. `1.1-SNAPSHOT`) and add the repository
`https://central.sonatype.com/repository/maven-snapshots/` to your build (see
[Maven](https://maven.apache.org/guides/mini/guide-multiple-repositories.html)
and
[Gradle](https://docs.gradle.org/current/userguide/declaring_repositories.html#sec:declaring_custom_repository)
docs).
## Features
- Supports Java 11 and newer
- Docking Component Interface
- Docking Frames (Floating JFrame)
- Docking Ports (One per frame)
- Split Panels
- Tabbed Panels
- Visual Studio style drag floating and docking hints that show drop locations
## Modern Docking UI Extension
- Requires FlatLaf L&F
[](https://mvnrepository.com/artifact/com.formdev/flatlaf/3.7.1)
# Building
Modern Docking uses Gradle and can be opened directly in IntelliJ IDEA or any other IDE that supports Gradle. It can also be built from the command line with `./gradlew build`.
## Examples
See basic-demo for a simple example in Example.java and a more complicated example in MainFrame.java.
