Anthony Goubard is a freelance Senior Software Engineer from Amsterdam. He has developed in Java since 1995. He has developed many softwares available at and is the main developer of the Web Services framework XINS. Anthony is a DZone MVB and is not an employee of DZone and has posted 33 posts at DZone. You can read more from them at their website. View Full User Profile

SwingSet 3 in JDK 6 u10 Beta

  • submit to reddit
Part of the new Sun JDK 6 update 10 also called Consumer JRE is a new SwingSet demo, named SwingSet 3.

I've decided to run it and to give you a few screenshots.

So here it is:



SwingSet3a.png267.64 KB
SwingSet3b.png68.26 KB
SwingSet3c.png48.49 KB
Published at DZone with permission of Anthony Goubard, author and DZone MVB.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)


Mike P(Okidoky) replied on Sat, 2008/04/05 - 4:33pm

I still find the tabs and spit a turn off.  Everything seems to have gotten a slight bit of a polish over, but they the tabs and split remain untouched, unfortunately.   It's these little things that wil make people want to criticize or praise it.

Also, I wonder if that mandelbrot uses multithreading to take advantage of multicore systems.  Silly, perhaps, but having it as a conversation piece might help sell Java.  I'd be more than happy to contribute that part.  Would it go in if I did?

cowwoc replied on Sun, 2008/04/06 - 9:45am



I love the new look! I did, however, run into two problems:


1) The scrolling speed is set to 1. Please increase it to a more reasonable value.

2) Nimbus takes a *very* long time to initialize. Try switch between different L&Fs. Nimbus takes 3 seconds to initialize on my new machine and it doesn't get any faster if I repeat the process.

Rick Ross replied on Sun, 2008/04/06 - 12:45pm

Very interesting pics form the SwingSet update, thanks for posting them! I think these show signs of solid progress in the arena of desktop applications with Java and Swing.

Osvaldo Doederlein replied on Mon, 2008/04/07 - 7:29am

SwingSet3 is gorgeous, but it's not a great advertisement for people looking at Java6 UpdateN as a RIA platform, for a single reason: massive footprint. If you thought SwingSet2 was bloated and heavy, SwingSet3 is much worse. Launching the demo with default JVM options (i.e., HotSpot Client and all other defaults) produces a process with 35Mb private working set / 69Mb commit set (measured on Windows Vista with Aero enabled, FWIW). But that's just to show its initial screen. After clicking once in every component option, memory usage ramps to 113Mb / 142Mb. After a more complete test - exercising each demo, e.g. dragging some columns in the JTable demo, opening the JColorChooser dialog and so on - reaches 146Mb / 178Mb. In a similar test, SwingSet2 (executed by the same JVM) consumes 108Mb / 143Mb.

Considering all new SFX in SwingSet3, I think the increase in resource usage is justified; the new demo is clearly doing a lot of additional work, and loading more classes and resources. So, I'm not complaining that SwingSet3 is poorly written - I wish all Java APIs had such a great set of demo code. The problem is that we need a lightweight demo of Java SE as a RIA platform. For one thing, SwingSet2/3 apparently consumes a lot of memory with resources (large graphics). SwingSet3.jar is a 5,9Mb file, but it contains 3Mb of images. These are all compressed (GIF / JPEG / PNG), so they will all be much much bigger when decompressed to 32bpp. Oh, there's also a 1,5Mb XML with Oscar prize results, and full source code for the source panes (all of which display formatted sources, in a rich text or HTML pane). I'm not an expert in Swing development, for one thing it's possible that most overhead from images vanishes into the VRAM with VolatileImages. Still, SwingSet3 chews far too much memory for an application that performs so little work - showing a boatload of components. Other competing tookits (including alternative Java ones) have similar, show-off-all-components demos, that exhibit instant loading time and consume a minuscle fraction of SwingSet's footprint...

Amy Fowler replied on Tue, 2008/04/08 - 1:08am

All fair comments and we'll be tuning for size/performance as we approach the final release of 6u10.  We'll be pulling out oscars.xml for lazy retrieval from the server (a better example of a networked app anyways), modifying the demo-cache strategy not to keep handles to all demos that have run, and of course profiling/tuning startup and other sluggish spots. We're in JavaOne crunch mode at the moment, but will be steadily improving SwingSet3 in coming months, so the feedback is appreciated.  The beauty is that since it's a project, we can evolve it independent of JDK releases.  

Chris Clark replied on Tue, 2008/04/08 - 1:29am in response to: Amy Fowler

Just wondering about Sun's versioning strategy regarding Java - first we had JRE 6 update N, now it's 6u10.... Does that mean that we have to wait for updates 6 - 9 to be completed before the new consumer JRE is available ? Why is it not just called Java 6.1 (or 1.6.1)?

Though I do admit that Sun has often confused customers in the past about versioning - look at the Solaris versioning confusion for example (3 different terms for the same release at one point). 


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.