This article looks thread management in a Swing GUI. There's more to success than simply spinning up background threads for long-running operations: you need to get the results of these operations back to the user, control the sequencing of not-quite-independent operations, and provide feedback to the user while the operation is running.
This is a Java Swing tutorial. The Java Swing tutorial is for beginners and intermediate Swing developers. After reading this tutorial, you will be able to develop non-trivial Java Swing applications.
a Java framework for auto-generating fancy Swing GUIs via introspection that display objects directly to the user. The core idea is based on a book and implementation of a quite similar framework called "Naked Objects", but it is a complete clean-room imp
Swirrel is a little framework (in alpha state) which allows to annotate AWT or Swing Components instead of writing listeners. Swirrel reads the annotations and attaches the aproriate listeners automatically. All you have to do is to provide the name of the methods which should be called by the Swirrel listener.
Swirrel is a double edged sword, it can make things much easier, but you can shoot yourself in the foot (hey, a sword you can shoot with!). Please consider carefully if Swirrel is right for you and your project, especially if it contains deeply nested, complex, dynamic and/or time critical GUIs. Note that using Swirrel requires more testing, as things that caused compile time errors before cause runtime errors now. That said I must say Swirrel runs much smoother than I expected.
Swing Data Binding
Download latest
A powerful, fast, light and simple data binding framework for Java 6
Easy to use, understand and to extend to support custom ui elements
Fast and light
Support PropertyChangeSupport if you want it
Swap out your model objects for active bindings (rebind)
Unbind will remove all listeners
Supply user feedback with ease
Out-of-the-box support for JXDatePicker and Joda Time
Provides a fluent interface if that's your bag
The Doolin framework allows the rapid development of Swing applications. It uses the Spring framework as a support for its configuration and extensibility.
Drag and drop (D&D) is an intuitive GUI gesture used for
transferring data from one GUI component to another. This second
article in the drag and drop series explores how you can transfer
data besides text and discusses the issues involved with developing
a library of D&D-enabled project Swing components. (4,400
words)
In this article, an excerpt from <em>iText in Action</em> (Manning Publications, December 2006), author Bruno Lowagie shows how easy it is to export any Swing component to PDF using iText's PdfGraphics2D object.
Jspresso is an innovative framework for building rich internet applications. Jspresso dramatically reduces the development cycles needed to get your corporate application up and running while not sacrificing quality, robustness and performance. Jspresso is not just another webapp framework. Jspresso based applications offer the exact same ergonomics as desktop applications while keeping an N-tier, server-centric architecture on a java backend. Jspresso-based applications can be deployed either in Adobe's Flex, qooxdoo, WingS, ULC and Swing, all on the same codebase and without a single specific line of GUI code. And last but not least, Jspresso is free.
Griffon is a Grails like application framework for developing desktop applications in Groovy. Inspired by Grails, Griffon follows the Convention over Configuration paradigm, paired with an intuitive MVC architecture and a command line interface. Griffon also follows the spirit of the Swing Application Framework (JSR 296), it defines a simple yet powerful application life cycle and event publishing mechanism. Another interesting feature comes from the Groovy language itself: automatic property support and property binding (inspired by BeansBinding (JSR 295)), which makes creating observable beans and binding to their properties a snap! As if property binding was not enough Groovy's SwingBuilder also simplifies building multi-threaded applications, say goodbye to the ugly gray rectangle (the bane of Swing apps)!
Grails developers should feel right at home when trying out Griffon. Many of Grails' conventions and commands are shared with Griffon. Granted, Swing is not the same as HTML/GSP but Builders simplify the task of creating the UI.
Seasoned Java developers will also be able to pick up the pace quickly, as the framework relieves you of the burden of maintaining an application structure, allowing you to concentrate on getting the code right.