Java MDI Application Framework


27th March 2005
Version 0.6 has been released, which again includes some major architectural changes, which make it possible to have nested views as well as nested data objects. Other new features include the Command/Trigger concept, support for toolbars and a scrollable desktop. In addition, several bugs have been fixed.

15th September 2004
Version 0.5 has been released, which includes (besides a few minor modifications) some major architectural changes concerning the Document-Action-View system. It is now possible to have multiple views per document.

News Archive


MDI is the abbreviation for "Multiple Document Interface". It is an application model which can handle multiple opened documents at the same time. Typically, MDI applications display multiple "sub-windows" containing the documents to be edited. Many office applications, text editors, IDE's, web browsers, ... use MDI interfaces.
In theory, Java provides you with everything you need for creating a MDI application: you could use JInternalFrame's for emulating the MDI "look and feel", you could use the Java Document framework, there's also a javax.swing.undo package, ...
However, I find these components quite difficult to use, and after all, you'd finally have to "glue" everything together by yourself to finish your MDI program.
The point is that all MDI applications are actually quite the same. From the GUI point of view, all MDI applications have some common menu items, for example. And all MDI applications share some logical entities like documents and actions that modify the document.
I thought that it would be a good idea to unify all those components needed to build an MDI application and create a framework which serves as a skeleton for MDI applications.



Screenshots of the text editor which is included in jmdiframework as a demonstration application can be found in the screenshots section.


Browse online javadoc documentation (for version 0.6)
Framework Overview (outdated as of version 0.5)
The Java MDI framework and the Document-View paradigm (outdated as of version 0.5)


This software is distributed under the terms and conditions of the GNU General Public License.
See the file "GNU-License.txt" which is included in the release.


Current version (0.6) from

Project home on


Bernhard Stiftner
This project is hosted by: Logo