Swing links of the week: November 30, 2008
Here are some Swing links that you might have missed during the last week:
- Jeremy Wood has been a busy blogger this week. First, he compares different approaches in using spinners for specifying length measurements in different units. Next, he presents a dialog to layout several tiles / cells on a print page. And finally, he closes the week with a partial implementation of Mac “Windows” menu that tracks the list of currently open top-level windows and their respective states.
- Olivier Gout has a prototype of WYSIWYG theme designer for Nimbus. The “official” Nimbus designer promised at this year’s JavaOne is nowhere in sight, and only time will tell whether this new attempt will outlive the growing list of Synth designers / builders mentioned in Swing Links of the Week edition of March 23, 2008.
- Patrick Ahlbrecht has a skeleton implementation of persisting window geometry and toolbar location between successive launches of an application window.
- Kai Toedter has written a demo application that shows how to use OSGi Declarative Services (DS) and Spring Dynamic Modules (Spring DM) together with Swing UI (and the Swing Application Framework, JSR 296). The Person Manager project is licensed under EPL.
- William Chen has announced his work on the Visual Swing Designer for Eclipse.
- Adam Bien continues to favor Swing over SWT in his two-part attack. Starting with how to make your Swing coding more efficient, he then continues to address the perceived Swing weak spots. From reading these and previous postings, looks like Adam holds a particular dislike towards SWT tables, and i couldn’t disagree more. Just like it takes quite some time to fully understand your way around Swing tables (including models, renderers, editors, listeners and much more), it takes a little bit more than a few suggested hours to switch to the SWT / JFace approach. This is not to say that one is clearly better than the other. It’s just that if you come with prejudice or a very strong knowledge in one, the other will seem clunky, over engineered and convoluted.
- Two interesting Swing-related threads on the Google group for Javaposse. The first addresses the misunderstanding of the painters issue and the community handling throughout the entire process, and the second calls for community questions on JavaFX.
- Andres Almiray has announced release 2.0.1 of JIDE Builder and 0.1 beta release of GfxPad.
- Roman Kennke continues his work with Java2D, writing about first Java2D pipeline implementation on top of the DirectFB hardware abstraction layer.
- Ken Orr has announced release 0.9.3 of Mac Widgets for Java. Major new addition in this release – iApp style scroll bars. Is it me, or is the reflection of the new scroll bars incorrectly flipped?
- Clemens Eisserer reports that his XRender pipeline has been integrated into the IcedTea fully open sourced port of OpenJDK.
In three days, JavaFX Desktop 1.0 will be officially released. I have been skeptical about JavaFX over the last few months, and while this may be attributed to general inclination of programmers towards being “entrenched” in the technologies that they know, there are other reasons as well. Aside from a few unnamed technology partners that were participating in shaping the capabilities of this release, the community has been effectively shut from lending its hand in commenting, testing and evolving the platform. We have long heard about “being blown away” by the new functionality being brought by JavaFX to the RIA market, and this week we will finally see if it is going to live up to the marketing hype.
Personally, i will be very glad to see at least one out of the following ten items being available for JavaFX, as well as cross-platform Swing applications come December 4:
- 6u10 / 6u11 for Apple – [update] see bug 6761033 for some interesting news.
- Full java lightweight rendering of SWF files even without installed Flash engine
- Full java lightweight rendering of H.264 files even without installed codecs
- Adaptive video streaming based on the client CPU and network utilization
- Video capture and creation
- Fully skinnable lightweight browser component based on WebKit or Mozilla / Gecko
- Inclusion of form-oriented layout manager
- Support for high level shader language (HLSL) for hardware accelerated custom effects
- Nimbus designer
- JavaFX.com with JavaFX-only applet driven content
And is it me, or are we going to see Sun ditching its own module initiative and move towards restructuring JDK as a collection of OSGI bundles?
December 1st, 2008 at 3:28 pm
i believe jmc will come with the on2 native decoder, scenario will also have a new media node (instead of embedding the swing player for instance)
December 2nd, 2008 at 12:11 am
Well, on the JUG here they said that JavaFX will support all local installed codecs and an all java cross-platform one licensed by On2.
That kinda feels fine to me: I can stay cross platform, but (like PDF) I have to restrict to a certain format. Or I can play SWF and whatever, but am depending on the OS.
I’m having more problems with the amount JavaFX syntax deviates from Java. That was not nessecary, groovy prooves otherwise. Form-Follows-Function or not.
December 2nd, 2008 at 3:28 am
Kirill: your links to the javaposse newsgroups re: the old painter issue are broken (but can be worked out easily enough if you’re determined).
Where did that list come from? just a random selection or driven my some internal knowledge? You know the browser and website are more-or-less done. the website is tricky because you can’t really promote a new technology nobodies installed yet, or convinced them to install it without using the existing/opposing technologies . The odd demo won’t hurt though, although I’d expect complicated/integrated ones might expose the horrible web start like security warnings. Would have thought form based layout would be a natural enemy to JavaFX components.
tom: is swf a codec?
December 2nd, 2008 at 3:30 am
..actually extend that last question “is swf a codec? and can the JWebPane play Flash?”
December 2nd, 2008 at 3:35 am
Oh and the release of Nimbus designer was supposedly only held up by legal issues last we heard. Someone needs to collar Jasper at Devoxx. Wonder what’s Jaspers position in the swing team since he moved back to the UK?
Shame about that jdk 6u10 Painter package, creates incompatibilities with SwingX. Substance have its own Painter too? seems a shame to be forced into using adapters over a stupid naming rules.
December 2nd, 2008 at 4:50 am
@Richard: no, SWF is not a codec, it’s the Flash source file extention. And flash player is not really a codec either.
But appearantly you can play flash movies (embedding flash player) in JavaFX. But I haven’t gotten much further than hear-say by sources close to the source. ;-)
T-3
December 2nd, 2008 at 7:39 am
well, guys i dunno but whatever it is, m excited abt javafx and cant wait to c what its got. i think sun will do good on this one.
December 2nd, 2008 at 10:20 am
the on2 native decoder lib does come with javafx 1.0, you can see some things here yourself -> http://download.java.net/javafx/
there _is_ a flash provider, haven’t tested it yet though.
December 2nd, 2008 at 10:54 am
Do you have a link to Olivier Gout’s work? All that is there is a link to a previous post about synth builders.
December 2nd, 2008 at 11:02 am
Are you saying javaFX does include “Full java lightweight rendering of SWF files even without installed Flash engine” – wouldn’t than mean a full cleanroom reverse engineering of Flash into Java? – pretty unlikely (why bother then with JavaFX).
Or are you saying on2 includes an Flash video decoder .FLV not actually offering full Flash .SWF support (without the Flash plugin installation;)
December 2nd, 2008 at 11:12 am
i’m saying jmc _does_ play flv files encoded with on2/vp6 (it plays this: http://download.java.net/javadesktop/jmc/bbc.flv for instance). I also _believe_ it does without flash ever being involved, and that i don’t _know_ about the lightweight part (yet :) but i think/hope since I’m using it in scenario’s SGMediaView (you can add pixel shader effects over it, etc) – and scenario nodes are usable in swing within a JSGPanel – but i haven’t really tested that deeply.
December 2nd, 2008 at 11:24 am
Mark – the link has been added.
Thanks
Kirill
December 2nd, 2008 at 11:55 am
kirill: did you try the kinda internal jsl ‘language’ that comes with decora (scenegraph-effects) ? the compiler generates java (SE and ME if i remember correctly), hlsl, glsl, java/sse shaders.
it’s not a ‘pure shader’ in that it “always” mixes at least some java (more than you’d logically think – ie not only for params, i think i remember seeing some loops in java even for hw shaders, but it’s been long since i’ve looked at it).
Even though i dislike fx script i really like scenario/decora a lot – if you add jmc, jwebpane, the nimbus designer tool (maybe they’re not showing it/releasing it/talking about it because they’re using it as a basis for the fx designer tool :) – or project nile, (all open source with nice licenses of course) and i’d be quite happy.
The first thing i did with the javafx preview was some code that transcoded fx files exported with nile into java using scenario nodes, hopefully we’ll be able to easily use the compiled fxscript objects directly in java, doubtful i know.
December 2nd, 2008 at 4:13 pm
I’ve seen a few interesting nuggets in there including this language, CSS stylesheet for Nimbus and the partial CSS stylesheet for the (i guess new) Pulse skin. Will try to explore this further tonight…
Thanks for the link to the downloads :)
December 2nd, 2008 at 5:07 pm
Kirill,
I hope you are right on this. Javafx could blow flex away if they pull this off. It just pisses me off that I couldn’t be part of it and contribute to an open, community based project. Being kept in the dark sucks, but what sucks more is the history of being kept in the dark and disappointed by sun.
I wish they would learn!