Wow, we’re already a week into September. The year seems to be flying by, and fortunately for the southern hemisphere readers out there, it’s starting to get into nicer weather. My garden is becoming more colourful, and I’m spending more time out there than in my office on the weekends. Bring on Summer (and apologies to all northern hemisphere folk)
There is a heap of news this week, and a lot of it is quite interesting and worth reading. Let’s get into it.
General
- Despite the general pessimism that surrounds Java 7, I am personally quite excited about it. As such, I am very happy to see the changes being made to the language to tackle verbosity (mostly coming from Project Coin).
Swing
- For anyone not following the Swing Application Framework (SAF) mailing list, after Alex Potochkin posted that the SAF will not make it into JDK 7, people started talking about forking it to continue its development. At present there are at least two forks (SAFF and BSAF). If you allow me to jump on my soapbox for a second, this frustrates me to no end. We went from the original SAF project whose requests for help fell on deaf ears (although admittedly there was not much visibly happening on Sun’s side either) to two actives forks. If we had offered our time back when it was still JSR-296 we could have had this integrated into JDK 7, but because we waited for it to effectively die, we now have to most probably wait until JDK 8, if ever, before an app framework for Swing can be integrated into a Java release. However, right now I hope very soon everyone can get behind one fork, as there is no point having multiple frameworks with almost precisely the same goals and approach. </soapbox>
- Ken Orr has posted an update to his Mac Widgets for Java so that the components look more integrated in Snow Leopard.
- Rémy Rakic has posted the second part in his series on hardware accelerating Java2D/Swing/JavaFX. This post covers pixel shaders in particular.
- Alex Ruiz has blogged that FEST-Swing 1.2a3 has just been released. FEST-Swing is a Java library that provides a fluent interface for functional Swing GUI testing. This library provides an easy-to-use API that makes creation and maintenance of GUI tests easy.
- I received an email in the week regarding Mindsilver GUIDE, which is a commercial (yet still in beta) Java GUI builder application. For now they are looking for feedback so please give it a whirl if you are so inclined, and let them know of any issues.
JavaFX
- Josh Marinacci has started a new competition on the JFXStudio blog. The challenge is to write an impressive app in 30 lines (or 3000 characters – it’s your choice). The competition has started now, but the theme will be announced in the next few days. Your application must be based on the given theme topic. The prize will again be a $20 gift certificate to Amazon and a badge to put on your website. Good luck!
- Henry Zhang has posted part two of his series on creating an online JavaFX game: a ‘wish tree’. He goes into considerable detail and it is well recommended you give this a read if you’re interested in building similar applications.
- Carl Dea has posted parts four and five of his five part series on a JavaFX Forms Framework he has been investigating. Note: Carl updated his part four post to make use of JavaFX rather than an XML mapping file. This seems a very wise approach in my opinion.
- Jeff Frieson has a detailed post discussing the development of a units converter application written in JavaFX 1.2. He details the porting of the application to work in constrained screens by scaling the text size.
- Speaking of Jeff, he was recently interviewed by Reviews Interactive. You can hear more of his opinions here.
- Dmitri Trembovetski has posted a small demo app that shows how you can use JavaFX to zoom in and out of images using a ‘magnifying glass’ approach. Have a play with the applet – it actually works very nicely.
- Simon Brocklehurst wants to know the likelihood of a JavaFX applet working on a persons machine. So, check out the blog post and let him know how you get on. Obviously, for readers of this blog, it’s highly likely you have the latest JRE already installed
- Rakesh Menon is another person interested in deployment issues at the moment. He’s keen for you to give him feedback on the time it takes for an applet to start from his website. He has instrumented it so that you can easily get this information.
- Nik Silver has blogged about his experience discovering JavaFX by using the Guardian’s Open Platform API’s.
- Drew has posted more performance benchmarks of JavaFX 1.2.
Griffon
- John posts about Griffon GUI Builder options.
That’s things for another week. Keep up the good work and I’ll see you again soon






Hi Jonathan,
regarding SAF fork(s), this was to be expected as Sun did absolutely nothing to avoid project forking. Actually, forking should have happened at least 1 year ago, considering the “progress” of SAF. That would have been good for SAF/JSR-296.
Since Hans has left, nobody at Sun has ever integrated patches provided by 3rd-party users for some issues. The spec lead has never answered ANY question in the mailing list (or comments to his blog posts).
I also think that 2 forks is not good; hopefully one group will join their forces to the other. Personally, I already decided to give up and forget SAF (to only keep its main “concepts”), but I’ll still follow up what happens in these forks if they are to go anywhere.
By the way, I find you’re quite optimistic talking about SAF in JDK8; but maybe that’s because of my own pessimistic nature;-)
Not yet having an idea what the benefit is of forking the RI and setting up (multiple) private new JSR 296 implementations ..
Jonathan,
I disagree with this:
“We went from the original SAF project whose requests for help fell on deaf ears”
No sun employee, and, as it seems, nobody from the projct’s committers or leads, wrote anything in the project mailing lists for many months.
And many people commented to Alex’s Blog post with this request for help, saying they would like to help, but also, that this questions would have better been written into the user’s or developer’s mailing list.
If Alex or Sun decides to not talk openly with the people, in the place where people interested in the project communicate, whose fault is it?
Henning,
You’ve chosen to split what I said in half, and only took the first half. The second half of my comment was this: “(although admittedly there was not much visibly happening on Sun’s side either)”.
Therefore, we’re both implicitly agreeing it seems, you’re just disagreeing with my first point without taking into account my second point. For what it’s worth, I agree with you.
Cheers,
Jonathan
Hi Jonathan,
Hmm, yes, I did split it – because I really only disagree with exactly the part I was citing.
Calling for help in a totally wrong place, and not appearing at all in the place where the concerned community hangs out is a type of call for help after which I think it’s wrong to talk about deaf ears.
Had Alex called for help on appframeworks user and/or dev list, the call would definitely had been heard and answered in one or another way.
Henning,
You can’t really split a sentence in half and then call me out by only quoting the first half. I state that Alex asked for help, but that it fell on deaf ears. Nothing more and nothing less. This does not state that it is his fault or the communities fault, it just states that the communication broke down. Obviously there were problems with the Swing developers communicating publicly on the mailing list.
Regardless, as with a good chunk of the SAF mailing list discussion at the moment, this is all pointless hand-waving, which is not constructive to the future of SAF. Let’s get back to the point: the future of SAF.
– Jonathan
Agreed that it doesn’t make much sense to discuss this detail if in the whole, we’re in the same lines
I hope for SAF to develop into something that is actively worked on, in an open fashion, so it is something that makes the start with Swing development easy for new developers (like me, with many years of Web and SOA and some mobile experience, but no Desktop GUI until some months ago) while still being flexible and not getting into the way of experienced developers.
As such a starter, it is hard for me to decide if SAF or one of it’s forks is worth putting energy into to help with development, and if so, what to do for it.
It’s really sad to see the project being in the current state (first, orphaned by it’s creators, then forked into two projects) – after I was happy having found it as a good starting place for easy Swing development with a proper architecture.
The other major choices I know of are either quite complex and large (Netbeans/Eclipse) or in another unclear state (Spring RCP – no proper docs of the recent release, no information on the web since ages).
The SAF fork is indeed a pity. I adopted the SAF because it was on track for Java 7 and looked like a small, sane base for an in-house app I was writing. I don’t expect to be around to maintain it forever and didn’t want to saddle any poor sod taking over from me with learning the NetBeans platform or Eclipse platform or the like.
The really frustrating thing is that if I’d had *any* way of knowing the SAF folks wanted help, I’d have got involved. Alas, my psychic powers are lacking, and I hadn’t signed up to the mailing list of *every* tool I used in my app.
Was there a post on the Netbeans news feed (as shown in the Start page) that might’ve grabbed people’s attention? No.
Was/is there any indication of any kind on the project home at appframework.java.dev.net ? No.
Was there any indication at the JSR on jcp.org? No.
On the project announcements page on java.dev.net? “There are no announcements for this project”.
“We sent a post out to our mailing list and nobody replied, so we assumed the world didn’t care” isn’t a very impressive effort. No wonder they didn’t get any help.
Right now, I’m trying to gain some clarity about where SAF is going, confirm if it’s been abandoned by Sun, see if I can get the java.dev.net project page changed to point to BSAF, and see if I can get the JSR status clarified (formally drop it pending redesign and re-application, or confirm it’s still on track as BSAF with new lead). Any help would be appreciated – see the BSAF forums (ick) on Kenai if you’re interested.