Skip to content

goranstack/esox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

93 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status (Travis CI) Maven Central

Esox Java Swing binding library

Binds model values to Swing components using the observable pattern and Java reflection.

1. What it does

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.

2. The purpose of the project

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.

3. Documentation

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.