The Source for All Things Java

Joe Winchester

Subscribe to Joe Winchester: eMailAlertsEmail Alerts
Get Joe Winchester: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn

Top Stories by Joe Winchester

A programming API represents a documented contract between a function that provides some kind of computing service and those who wish to use it. In Java, once an API is used there is a physical contract between the two that the compiler and JVM enforce. If at some point in the future the author of the API wishes to make changes, they are limited in scope; if the author renames methods or removes arguments, programs that are bound to the previous signature will no longer run. The change can be published with the new version of the class library or framework so that users can upgrade their code; however, in many cases this isn't a viable option. It may be that the system that used the old API is no longer being worked on by a development team and is considered stable, or that the release cycle of the now broken system is dependent on other circumstances that prevent i... (more)

SpringLayout: A Powerful & Extensible Layout Manager

The task of a layout manager is to position and size each component based on the size of its container. Each component has a preferred size that can be used to determine the real estate it wishes to occupy, as well as a minimum and maximum size. The preferred size is especially useful for components that contain user-visible strings whose size can change between development and deployment due to different fonts or different locale values, as the GUI is dynamically translated through resource bundles. Layout managers are powerful classes for dynamically recalculating the size and... (more)

Developing Java Client Applications Using Java Web Start and WebSphere Studio

Java Web Start (JWS) was created as part of JSR 56 and is included with JRE 1.4. The idea was to provide a way to distribute a Java application that would run in a JVM on the client, but avoid the problems associated with traditional applets. JWS does this by incorporating the features shown in Table 1.   If you have JRE 1.4.1 or higher, then you already have Java Web Start installed. If not, you can obtain and install a JRE from This article describes how to create and deploy a JWS application using WebSphere Studio Application Develope... (more)

Joe Winchester's Java Blog: Is the AJAX Bullet Coated in Fool's Silver?

Is the AJAX Bullet Coated in Fool’s Silver? Ajax is an odd beast, because it gives a very rich user experience when compared to a traditional web page (Yakov writes wonderfully about this at, however apart from that it’s hard to figure out what is so great about it.  Good technology wins in the long run because of tooling (something Microsoft know and excelt at), so what is the lure of Ajax ?  I think it’s simply that it allows logic be put in one file – in your HTML (or servlet, JSP, ASP or whatever kicks out HTML)... (more)

Web 3.0 - The Lunatics Have Taken Over the Asylum

Web 3.0 - The Lunatics Have Taken Over the Asylum When the phrase Web 2.0 came out a number of people were sceptical about what it actually means. Being objective, it’s a collection of disparate technologies that make web sites more usable. Everyone wants their user interfaces to look and work better, and most of web developers’ energy over the last decade has been spent focusing on the former. It seems that recently however they’ve decided that it’d be nice to make them actually more usable.  The page based latency of the web’s POST -> get next page... (more)