Monkeybars is a library that provides a structured way of building Swing applications using JRuby. Although Monkeybars uses the ideas of models, views, and controllers, its usage of the terms is not the same as in traditional MVC systems. Monkeybars uses the idea of the three discreet components to emphasize a separation of concerns that is often sorely lacking in GUI applications but attributes different roles and responsibilities to each component.
The core of Monkeybars' functionality comes from two classes, the Controller and the View. These serve as base classes for the various controllers and views in your own application. Very few assumptions are made about your model and as such there is no base class to inherit from. Monkeybars encourages the controller, model, and view to each remain very decoupled from each other by acting as a bridge between the components. This acts as a very simple form of dependency injection since the model and view a particular controller interacts with are not explicitly created by the controller but are simply declared there. Substituting a model or view with a mock object is trivial.