Feature: Improve Windows Look and FeelThe look and feel is indeed looking better. The following screenshot shows SwingSet under 5 on the left and SwingSet under 6 on the right. The look under Swing 6 uses the same windows widgets you see in Window's File Explorer.
Bug IDs: 5106661
Status: 5106661 integrated into b14, remaining work ongoing
Feature: Improved text quality and capabilitiesThis feature has indeed been delivered. The following is a comparison between two samples of source code in the SwingSet demo app. The difference between the selection of the fonts as well as their rendering is the difference between night and day. It's unbelievable the improvement in overall quality. Again, SwingSet under Java 5 is on the left and under Java 6 is on the right.
Bug IDs: 4502804, 5057760, 4871297, 4726365
Time and schedule permitting I'll look at other features mentioned in the Java 6 update.
Comparison: Eclipse text rendering vs. NetBeans text rendering
When I was ranting yesterday about NetBeans and Eclipse, I overlooked the most fundamental and important difference between the two IDEs: text rendering, especially in an editor pane. Rather than talk about it, look at the following screen captures where the same source file in both IDEs are shown side-by-side. NetBeans 4.1 is on the left and Eclipse 3.1 is on the right.
As far as I'm concerned the difference is crystal clear. Regardless of the warts and limitations I'd rather work with Eclipse, especially on Windows XP running on a notebook like the Gateway with ClearType technology. I tried to run NetBeans with Java 6 by changing NetBeans netbeans.conf netbeans_jdkhome property to point to my installation of Java 6, just to see if NetBeans 4.1 would benefit from Java 6's new text improvements. It does not, at least with the text editor. But it does take advantage of Java 6's text improvements in some odd places. Take a look at the following image, for example.
Look at the right side of the Properties pane and see the difference between text on the right vs. text on the left. The text on the right is much clearer. Text in the editor did not show any benefits, and looked just as bad as it does in the earlier side-by-side comparison with Eclipse.
One "Clear" Area of Superiority
I've always felt uncomfortable about SWT because I cut my user interface teeth on Java using JFC. But in this particular instance SWT is head and shoulders above Java because SWT is a wrapper around the underlying operating system's (Windows in this case) text rendering engine. Applications written to use SWT benefit from many of the Windows UI features that native Windows applications do. I have poor eyesight, and I do suffer from eye strain and headaches from long sessions in front monitors reading and working with lots of text. Working with the latest versions of Windows in front of LCD screens is a lot easier for me than stock CRTs or other operating systems that don't have the equivalent text rendering technology. The only exception to this that I've seen to date is Mac OS X.
The Future of NetBeans and Java 6
Reading the Mustang status report, this caught my eye:
Feature: New ExamplesLet me make a suggestion to both the NetBeans 4.2 development team and the Java 6 development team. Work together so that NetBeans becomes the second example mentioned above, showing best practices in using the JFC toolkit. Both Java and NetBeans would benefit from the combined effort. And NetBeans will certainly benefit from better use of Java 6's text rendering improvements. When NetBeans text editors look every bit as good as Eclipse's, especially on LCD screens (which are the future) then NetBeans will truly stand shoulder-to-shoulder with Eclipse where it matters most.
Bug IDs: 6246816, 6246820, 4989244
Status: In development
Description: Swing's current examples do not illustrate best practices and are not representative of real applications. With that in mind, we plan on providing two distinct types of examples. One shows all the widgets in all possible states. SwingSet2 currently serves this purpose but has grown stale and out-of-date. The second example type is one that better matches a real-world application, showing best practices in using the toolkit.