An open API service indexing awesome lists of open source software.

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+.

Awesome Lists containing this project

README

          

# Modern Docking

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

[![Maven Central](https://img.shields.io/maven-central/v/io.github.andrewauclair/modern-docking-api?label=modern-docking-api)](https://mvnrepository.com/artifact/io.github.andrewauclair/modern-docking-api)

[![Maven Central](https://img.shields.io/maven-central/v/io.github.andrewauclair/modern-docking-single-app?label=modern-docking-single-app)](https://mvnrepository.com/artifact/io.github.andrewauclair/modern-docking-single-app)
[![Maven Central](https://img.shields.io/maven-central/v/io.github.andrewauclair/modern-docking-multi-app?label=modern-docking-multi-app)](https://mvnrepository.com/artifact/io.github.andrewauclair/modern-docking-multi-app)

[![Maven Central](https://img.shields.io/maven-central/v/io.github.andrewauclair/modern-docking-ui?label=modern-docking-ui)](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

[![Maven Central](https://img.shields.io/maven-central/v/com.formdev/flatlaf/3.7.1)](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.

## Support
Buy Me A Coffee