Last updated January 15, 2010 16:53, by Jean-Francois Poilpret


Mission Statement

Guts-GUI mission statement is as follows:

Provide a framework, for developers of Swing-based GUI applications, that:

  • eases initial creation of an application
  • promotes, or even enforces when possible, Swing best practices and rules, in particular those related to threading
  • leverages Java 5 introduced goodies such as annotations and generics, in order to provide an easy to use, type-safe, API
  • provides separation of concerns by basing itself on small but concise interfaces each dealing with one specific GUI aspect
  • leverages Guice dependency injection model, allowing easier unit testing in particular

The main concerns addressed by Guts-GUI are:

  • GUI application lifecycle management, from initialization to shutdown
  • Exception handling
  • Window & Dialog management (including factories)
  • Action management, including handling long tasks
  • Internationalization support through transparent injection of resources into GUI components
  • Automatic user session persistence support (saving and restoring the application estate according to user's preferences)

What the framework doesn't plan to address (or at least not until a stable version is released with all points above) is:

  • Data binding
  • Data validation
  • Independency of the Dependency Injection library (although that could be added later on, depending on the progress of JSR-330)

Guts-GUI was originally based on Swing Application Framework, but the current snapshot has already got rid of this dependency (because we believe JSR-296 has no future any more, at least in the hands of Sun/Oracle).

Aspects addressed by Guts-GUI

The following links point to API design discussions on various aspects addressed by Guts-GUI:

Other aspects (dialogs, menus...) are yet to be described but the current API and implementation are deemed good enough for the time being.

  • Mysql
  • Glassfish
  • Jruby
  • Rails
  • Nblogo
Terms of Use; Privacy Policy;
© 2014, Oracle Corporation and/or its affiliates
(revision 20160708.bf2ac18)
Please Confirm