Binds model values to Swing components using the observable pattern and Java reflection.
Synchronize value changes between model and Swing components. A change of a model value updates the Swing component and a value entered in a Swing component updates corresponding value in the model. The library also handle the case where a Swing UI should show the absence of a model. A case very common in a master-detail UI when no master is selected.
The binding is defined by creating instances of objects called AspectAdapter
that takes constructor arguments to define the binding. The binding is defined without any reference to a model instance and can therefore be located in the Swing component constructor. Once the Swing component is created it can handle different model instances with the same binding definition.
The library is developed by my friend Dennis and adapted to Maven conventions by me.
The purpose of this GitHub project is to provide documentation and stable releases as Maven dependencies to current users of the library. There will be no extensive further development but some minor improvements will be implemented over time. There are no plans to support JavaFx that has its own solution for binding.
But if you still fancy Java Swing and need a binding library give it a try. The library are successfully used in several in-house applications.
Because the library uses certain concepts that differ from most other MVC implementations, you get the most out of it by reading the documentation.
You can also have a look at the fish
and esox-account
module that uses the library for fully functioning examples.