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.
Java SwingBuilder is an implementation of a Java Builder geared towards building UI interfaces using Java Swing.
Details
The main class is org.javabuilders.swing.SwingBuilder. It loads the object definition from a YAML file that is in the same package and has the same base name as the calling Java class. So, if you're building org.test.MyFrame.java it will look for org.test.MyFrame.yaml for the object build file (similar to the convention the Apache Wicket web framework uses).
Spin is a transparent threading solution for non-freezing Swing applications.
Swing is the standard component architecture for developing Java desktop applications. Its exhaustive collection of widgets is the foundation for easy development of rich graphical user interfaces (GUI).
Alas every non trivial GUI sooner or later encounters the problem of "freeze". This annoying behaviour is experienced by users every time the application performs extensive calculations or blocks for network or disk I/O.
We will explain the reason for this problem and explore different techniques to prevent Swing GUIs from "freezing". We will present our project named Spin which offers a - to our knowledge - revolutionary new approach. It offers a solution for transparent thread handling with minimal impact on your application code.
The Event Bus is a single-process publish/subscribe event routing library, with Swing extensions. The EventBus is fully-functional, with very good API documentation and test coverage (80+%). It has been deployed in many production environments, including financial, engineering and scientific applications.
The Event Bus is easy to use and yet very powerful. It requires no setup and the API is small and clear. The EventBus solves many problems, and promotes loose coupling, particularly with Swing applications.
August 27, 2008: DJ Native Swing 0.9.6 is released. The library is now split into a framework library and its SWT-based implementation. This allows to re-use the Native Swing integration framework for other types of native components.
MyDoggy is a Java docking framework to be used in cross-platform Swing applications. MyDoggy is an IntelliJ Idea like docking framework for managing secondary windows within the main window. MyDoggy allows to move,resize or extract those secondary windows. Also, MyDoggy provides support for content management of the main window. Like Eclipse, MyDoggy supports the concept of "prospective" using mydoggy groups.
The goal of this project is to provide a small and cohesive set of powerful UI components with functionality similar to or superseding that of Vista Explorer and Office 2007. The components provide consistent visuals under the existing core and third-party look-and-feels, respect the DPI settings of the user desktop and follow the core Swing guidelines in the external APIs and the internal implementation details.
Swing has lot of components built-in but still some are missing. This project provides the developer community with these missing components, components inspired (copied?!) from modern user interfaces.
SwingLabs is an Open Source laboratory for exploring new ways to make Swing applications easier to write, with improved performance and greater visual appeal. It is an umbrella project for various Open Source initiatives sponsored by Sun Microsystems and is part of the java.net community. Successful code and concepts may be migrated to future versions of the Java™ platform.
JuiPiter provides a mechanism to separate Swing tasks from long running non-UI tasks. The core of the JuiPiter mechanism is the Window Logic Decoupler. The decoupler, in addition to memory management and externalized strings, adds a single local Thread (non-Swing) per window that acts as the delegate. The single thread aspect solves the multi-Thread concurrency management that the developer must handle is using other options, i.e., SwingWorkerThread, FoxTrot, Spin.
All Swing and delegate tasks communicate through a message passing, publish and subscribe mechanism. Each task publishes messages through the decoupler. The use of queues allows the tasks to communicate without specific synchronization. There is one set of queues and a delegate thread for each Window, though a way to pass messages between Windows has been implemented. Along with this simple messaging infrastructure, JuiPiter also includes a number of Swing component helper classes and an extensive sample application, similar to the SwingSet, that demonstrates all the aspects of the JuiPiter framework. JuiPiter is designed in layers so that some developers may use just the messaging foundation while others will also use the component helpers and utility classes.
The JGoodies Validation helps you validate user input in Swing applications and report validation errors and warnings. It has been designed to work with different architectures and programming flavors.
SwingLabs is an Open Source laboratory for exploring new ways to make Swing applications easier to write, with improved performance and greater visual appeal. It is an umbrella project for various Open Source initiatives sponsored by Sun Microsystems and is part of the java.net community. Successful code and concepts may be migrated to future versions of the Java™ platform.
Overview
Vexi is a platform for creating and publishing Graphical User Interfaces that can be used over the Internet or an intranet. It features a very simple and powerful syntax based on xml and javascript, a set of complete, extensible, themable widgets, and a sandbox-like security model to protect users.
Why Vexi?
Vexi is designed to overcome the flaws of other Internet application platform implementations.
Vexi applications are written in a combination of XML and JavaScript. The XML layout makes UI structure simple to understand, and the JavaScript provides a powerful way of manipulating a UI to make it dynamic. Do not confuse JavaScript with the HTML DOM - the latter gives JavaScript a bad name because of it’s over complicated nature. JavaScript is very easy to understand and work with. And whilst XML is a far reaching standard, the context in which it is put into practise with Vexi makes it very easy to understand and work with.