Welcome!

The Source for All Things Java

Joe Winchester

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


Top Stories by Joe Winchester

The first part of this article (JDJ, Vol. 8, issue 4) introduced the Standard Widget Toolkit (SWT), and showed how graphical user interfaces can be created using some of the basic widgets found in SWT. In addition, layout classes were described that allow widgets to be arbitrarily positioned and sized within their parent. In Part 2, we continue where the previous article left off, describing some of the more advanced controls and concepts, including multithreading in the user interface. We conclude with a brief discussion of SWT graphics. Items Many of the advanced controls in SWT make use of items. Items are widgets that represent a specific kind of child within a control. They are always used in conjunction with the parent and cannot exist without the parent. For example, a menu contains menu items and a menu item cannot exist outside of a menu. Table 1 shows some... (more)

i-Technology Viewpoint: Java's Not Evolving Fast Enough

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 upgra... (more)

Where Are the High-Level Design Open Source Tools for Java?

I have just finished reviewing the book Open Source Development Tools for Java, which provides excellent coverage of such topics as log4J, CVS, Ant, and JUnit. There is a chapter on UML tools though in which the author almost apologizes for the lack of good open source design tools. There is a plethora of projects on SourceForge.net from J2EE runtime frameworks to IDE plugins, yet there is almost nothing that encroaches upward into the arena of analysis and design tools. One theory for this is that high-level design tools are the value-add that software vendors hold back from th... (more)

Is It Time for a Hippocratic Oath for Programmers?

Hippocrates, one of the founding fathers of modern medicine, realized that those who trained to become physicians were not only able to use their skills for good and for progress, but also might be inclined to misuse all they had learned. To protect against such abuses, new grads back in the 4th century B.C. were made to swear they would only use medicine in the best interests of their patients by taking the eponymously named "Hippocratic Oath." I think that it's about time we had a similar oath for all those who enter into the venerable profession of software engineering. As gene... (more)

It's Not Over Till the Fat Client Sings

Reports of Java's death on the desktop may be somewhat premature. A recent Giga group report, "Return of the Rich Clients", predicts that in the next three years browser-rich clients will grow by 350%, stand-alone clients by 250%, while HTML will decline by 50%. Two major facts are contributing to this change: problems associated with traditional client development being solved and HTML not providing a powerful enough user interface for all GUI requirements. Both of these are good news for Java. For stand-alone clients, Java has advanced on several fronts recently. The J2SE team... (more)