Home
Categories
Dictionary
Download
Project Details
Changes Log
Tutorials
FAQ
License

History





This project is a copy of the java.net project of the same name "https://java.net/projects/mdiframework". I own the two projects, and I ported the java.net project infrastructure to sourceforge because java.net hosting infrastructure has closed (April 2017).

Note that two versions has 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.0 breaking changes


All the jar files are Java 9 automatic modules. Java 9 does not allow modules to share packages, so each package must me exclusive to one module only.

So some Swing classes which were in the same package as core classes were put in specific swing packages to allow to use the MDIUtilities-core-LGPL.jar library with the MDIUtilities-ui-LGPL.jar library starting with Java 9[1]
Prior to that change it was not possible to use both MDIUtilities-core-LGPL.jar and MDIUtilities-ui-LGPL.jar in the same Java 9 project
.

Basically Swing classes which were in a package were put in a specific swing subpackage, and JavaFX Swing classes which were in a package were put in a specific jfx subpackage. This concerns the following classes which changed their original package:
  • Swing classes which were in the org.mdi.app package were moved to the org.mdi.app.swing package
  • JavaFX classes which were in the org.mdi.app package were moved to the org.mdi.app.jfx package
  • Swing classes which were in the org.mdi.bootstrap package were moved to the org.mdi.bootstrap.swing package
  • Swing classes which were in the org.mdi.gui package were moved to the org.mdi.gui.swing package
  • Swing classes which were in the org.mdi.plugins package were moved to the org.mdi.plugins.swing package
  • JavaFX classes which were in the org.mdi.plugins package were moved to the org.mdi.plugins.jfx package
  • Swing classes which were in the org.mdi.util package were moved to the org.mdi.util.swing package
  • JavaFX classes which were in the org.mdi.util package were moved to the org.mdi.util.jfx package
Note that the only structure change of the code is the FileProperties class which did not change its package. Rather this class has become generic, and a specific SwingFileProperties extends it for Swing components.

1.2 breaking changes

  • The ErrorLogger interface has been moved to the org.mdi.bootstrap package
  • The MessageArea interface has been moved to the org.mdi.gui package and is now not swing-related. The SwingMessageArea is the associated swing-related interface

Notes

  1. ^ Prior to that change it was not possible to use both MDIUtilities-core-LGPL.jar and MDIUtilities-ui-LGPL.jar in the same Java 9 project

See also


Categories: general

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