Categories
Dictionary
Download
Project Details
Changes Log
Tutorials
FAQ
License


The aim of this project is to provide a ready-to-use architecture to ease the creation of applications in Java which have features such as:

Aim of the project

Maybe you will say: Why not using Eclipse? Well Eclipse is a huge framework. When you develop with Eclipse in mind, you are in the Eclipse ecosystem, and you end with a lot of Eclipse dependencies. That can be a good thing, but if you want to keep control on your work, and avoid to bear the burden of too many dependencies (or limit the size of your install), you should look elsewhere. Plus Eclipse does not handle everything for you. But why not using appframework? Unfortunately (for the moment) appframework does not manage several things that are handled by MDIFramework[1]
It also is not maintained anymore
, such as:
  • Plugins
  • Dynamic menus
  • Storing / retrieving non GUI parameters between sessions
  • Managing File types
And MDIFramework was created before appframework even existed on the Web (2006).

Feature list

  • Taking care of the overall architecture of the main window of the application, with a tabbed architecture, the presence of an html printable message area, and so on
  • Providing a generic API to manage lengthy actions, keeping the interface responsive, and taking care that actions are performed one at a time, without having to bother about it
  • Adding Metadatas to already opened files
  • Managing loading and unloading of external plugins at runtime
  • Creating Dynamic menus
  • Storing / retrieving non GUI parameters between sessions (see configuration)
  • Managing File types (see Metadatas)
  • Adding a Splashscreen
  • Manage settings in a homogenous way for the Application and its Plugins, and serialize the settings
  • Managing the command-line arguments of the main application (see Command-line framework)

Distribution

See Distribution.

Tutorials

See tutorials.

Developing the library

Main Article: Developing the library

History

Main Article: History

Note that this framework can be both used in Swing and JavaFX. The project is under both the APACHE and LGPL licenses and is available here: https://sourceforge.net/projects/mdiframework.

Note that this project is a copy of the https://java.net/projects/mdiframework on java.net (I own the two projects), because the old java.net hosting infrastructure has closed. The original project exists since 2006

Note that several versions had significant evolutions which could break existing code:
  • 0.7.24 changed the target to Java 8
  • 1.0 changed the package for some Swing classes to make the library more Java module friendly
  • 1.2 moved the ErrorLogger interface to the bootstrap package

Notes

  1. ^ It also is not maintained anymore

Categories: general

Developers

Join this project:

To join this project, please contact the project administrators of this project, as shown on the project summary page.

Get the source code:

Source code for this project is available as downloads or through the svn repository used by the project, as accessible from the project develop page.

Copyright 2006-2023 Herve Girod. All Rights Reserved. Documentation and source under the LGPL v2 and Apache 2.0 licences