Recently at work we faced the need of implementing a user interface that delivered similar features as the ones exposed by Java Swing’s JDesktopPane but for JavaFX. Unfortunately JavaFX does not provide such component out of the box, nor do the most common JavaFX controls projects out there. There are however a few attempts to put something together but most never left the prototype stage or have been abandoned.
That’s how I found JavaFXMDI, which seemed to have the right approach but was left unattended for close to 3 years. Fortunately the code was published as Open Source, thus after a fork and a couple of weeks later I’m happy to announce DesktopPaneFX!
DesktopPaneFX picks up where JavaFXMDI stopped and adds the following features:
- Customizable title bar.
- Placing the taskbar on top or bottom.
- Component events when internal window change state.
- Identify the active window.
- And more!
DesktopPaneFX is in active development (6 releases posted in 4 weeks) with a few more features coming up down the pipeline, in particular I’d like to figure out a way to detach an InternalWindow and make it a full Stage, with the option to be reattached at a later point in time. Here’s a short video of the latest version (0.6.0 as of this writing) in action
Feedback is always welcome. If you find any issues or would like to share ideas please let me know by filing a ticket at the issue tracker. And if you find this project useful I’d very much appreciate if you consider becoming a patron.
Keep on coding!