Java Desktop Development
This first article analyzes how Java can improve the desktop world and then presents the three major Java GUI toolkits: AWT, Swing, and SWT. The following articles describe a Java desktop application.
Prototyping Desktop Applications
The article presents a desktop application prototype, which is called JImaging. The article focuses on the application's architecture, explaining how the developer made the technical decisions and how he solved the problems that occurred during development.
Data Models for Desktop Apps
This article describes the data model of the JImaging prototype and shows how to use it. The article discuses the model-view separation and event-listener mechanisms.
Creating Custom Desktop Components
When developing desktop GUIs, most of the time you use existing components as they are. But sometimes you have to customize them, and there are situations where you have to build your own components from scratch, which requires a thorough understanding of the internal mechanisms of AWT and Swing. The example component of this article implements the basic operations of the typical UI components: painting and event handling. Not so common is the painting of the graphic objects outside of the paint() method, but this is a very useful technique when developing drawing applications. It can make the difference between a slow app and one that works very fast, no matter what API you use.