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 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 position of the GUI components at runtime; however, they often lead to a less than optimal design-time experience. With WYSIWYG development tools, it frequently happens that developers position the mouse where they wish to drop a new component, only to see the entire GUI reorganize and the co... (more)

SWT: A Native Widget Toolkit for Java - Part 2 of 2

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

Dialog Boxes, Habituation, and Single Threaded Thought

In Jef Raskin's excellent book, The Humane User Interface, he discusses how the human brain is able to perform many tasks simultaneously while only having the ability to focus on one conscious thought at a time. Being able to process information and analyze it intelligently is crucial to our ability to solve problems, but once we have learned how to deal with a particular situation, just as vital is our ability to remember and recall the response without thinking. This allows us to drive a car while thinking about what we're going to have for dinner that evening. If, on said jour... (more)

Desktop Java

Java is enjoying a renaissance on the desktop. There are several reasons for this The issues that plagued early client/server projects or Java desktop applications have largely been solved. Swing 1.4.2 delivered great performance improvements and good fidelity XP and GTK look and feel classes. Java Web Start now exists as a way to deploy programs to a client PC that run in a local JRE and enjoy the benefits of local caching, lazy update, and execution within Java's security model Java is becoming part of the default installation setup for many PCs vendors, such as Dell, HP, Gatew... (more)

Java Opinion: Who Needs "Hardship Programming"?

While at lunch with colleagues recently I overheard four very able Java developers swapping horror stories of the kit they'd cut their teeth on as junior programmers. One had used a Sinclair ZX-81 with 1K of RAM and a black and white TV and a tape recorder in lieu of a hard drive. Things were so bad with the memory that the screen buffer was used to store program data. That story was trumped by tales of a Commodore 64 where after it was discovered that the built-in hard drive had its own processor, it was used to offload program work to create true symmetric multiprocessing on a ... (more)