Swing links of the week, January 26th

Another week, another Swing links. Thanks to everyone sending me links – please keep it up! Also, at the end of this post I have a request for everyone to help me out, so please be sure to read it!

Here are some links regarding Swing and Java GUI’s you may have missed in the last week:



  • Charles Humble wrote in to let me know that he has an interview with Stephen Chin regarding WidgetFX. I mentioned WidgetFX in last weeks post, but this is another interview, and is a little more in-depth.
  • Announced this week is that jSilhouette has joined the JFXtras project. The JFXtras project is an open effort to fill in the gaps in the current JavaFX library, whereas jSilhouette provides a collection of Java2D shapes that can be used in several modes, and now that it is part of JFXtras, these shapes can also be used in JavaFX. To allow for this immediately, both projects announced new releases.
  • Swing links regular Alex Ruiz made a number of announcements regarding his FEST Java library that provides a fluent interface for functional Swing GUI testing. These include a post on how to test drag and drop in JavaFX using FEST, as well as announcements that the FEST developer team is growing.
  • Jasper Potts has posted a blog discussing how he made the video for Devoxx/Parleys.com using JavaFX.  This post is a good tutorial to anyone wanting to get an understanding of animation in JavaFX, with a lot of code, diagrams, and a Java Web Start link.
  • Osvaldo Pinali Doederlein has posted his first impressions of working with JavaFX, in terms of the language, and the performance of programs written in JavaFX. He writes JavaFX Balls: the JavaFX version of the Bubblemark RIA benchmark, and makes available all related source code.
  • Coming in just before I posted this weeks Swing links, Jim WeaverDean Iverson posted about how to do spotlight effects in JavaFX. As usual, he has included a lot of code samples.

That’s it for another week. Three weeks down, who knows how many more to go! Now that you have an idea of how Swing links is working under my direction, I’d love to hear your thoughts. Am I being too thorough, or not thorough enough? Do I include all the posts you’ve come across, or do I post too many links? Is my analysis too long or too short? I’d love your thoughts, as it’ll let me refine things.

Thanks, and have a great week!

Swing links of the week, January 18th

Here are some Java GUI-related news items you may have missed in the last week…I hope you enjoy them. If you think I missed anything, let me know in the comments. Have a great week!

  • Firstly a post I missed last week: Jacek Furmankiewicz has announced the availability of the Swing JavaBuilder PDF book that aims to provide a more thorough documentation of the project’s goals and features.
  • Kirill Grouchnikov continues improving his flamingo JRibbon and substance projects, bringing the flamingo look and feel much closer to that of Office 2007. Behind the scenes on the mailing lists he and Andrey Eremchenko have been working very hard to bring the experience of JRibbon much more closer to Office 2007’s ribbon.
  • Alex Ruiz continues his series on testing JavaFX UIs. This is part four, with the previous three available here (parts 1, 2, 3). This post focuses on automating the build process of a combined Java and JavaFX project using Maven.
  • Speaking of Alex Ruiz, he has just announced the avilability of the FEST-Swing 1.0 release. 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.
  • James Sugrue interviews Stephen Chin about his WidgetFX project. WidgetFX is a desktop widget platform written in the JavaFX Script language. It can run widgets written in either JavaFX Script or Java.
  • Ken Orr at Exploding Pixels writes about how he managed to write an image to disk, accessing it through the Mac OS NSImage:// protocol.
  • Jim Crossley looks at the improvements made to Java Applets in Java 6 Update 10. Yes, I know this is old news, but I thought that this summary was pretty good, and provides a good amount of justification for anyone lingering on older releases to upgrade.
  • Jasper Potts has posted a link to his JavaOne 2008 talk about the Nimbus look and feel. I have yet to use Nimbus in any of my Java projects, instead preferring to maintain the look and feel of the current users operating system. This has always been something that has confused me a little – how popular are the custom Sun developed look and feels such as Metal and Nimbus? Is it the best use of engineering resources?
  • Are you interested in learning more about JavaFX? If so, Jim Weaver and Sang Shin are running a free ‘15-Week JavaFX Programming (with Passion!)’ online course.
  • Jean-Francois Poilpret posts about best practices when doing layouts in Swing. This blog post does tend to focus on his DesignGridLayout layout manager, but even if you aren’t using it there are a number of good tips in this post that I recommend all UI designers/developers to follow in their own projects.
  • With the availability of LGPL licensing being announced this week for QT, there is some discussion that Java may have just got a brand new components framework, accessible through QT-Jambi. Joe Walnes blog post was the first I saw discussing this. I definitely recommend giving the webstart link a try – it is actually quite impressive, although I’m not 100% certain of QT-Jambi’s licensing plans.
  • Finally, all developers: heed this advice.

That’s it for Swing links this week, I hope you enjoyed it. If you have any links I missed or feedback (both positive and negative), please leave a comment or send me an email. Cheers!

Swing links of the week, January 13th

Given that I am heavily engaged in the development of Java Swing-based applications, and the recent ‘freezing’ of Kirill’s blog posts regarding popular Swing news, I thought I would try my best to pick up the slack.

I think it is probably worthwhile that I quickly state that my interests are primarily in Swing, so I am not overly up with the play in other areas that Kirill frequently blogged about, such as JavaFX and Groovy. Regardless, I will try my best, and if you have any news, please post it to me at [email protected]. Without any further ado, here are some Swing links you might have missed in the past week:

  • A few years ago the Swing team made Aerith, which demoed various cool things that could be done with Swing. This week the Aerith Netbeans project was announced by Julian Gamble. This project strips out the major components of Aerith, and makes them available to all Swing developers. There is also a number of videos which introduce you to this project.
  • Jean-Francois Poilpret has announced the RC1 release of DesignGridLayout. Any new layout to the Swing world is generally much appreciated, given the lack of development of new layouts since Swing was first developed. I should also link to JGoodies Forms layout (which I use heavily), and MiG Layout (which I have yet to use).
  • Speaking of layouts, Amy Fowler has posted a blog post about layouts for JavaFX.
  • Alex Ruiz continues his blog series on testing JavaFX user interfaces with part 3 (part 1 and part 2 are also available). The testing is accomplished using his FEST Swing DSL-oriented Swing testing library.
  • Osvaldo Pinali Doederlein has posted a blog post attempting to clarify JavaFX FUD that exists. I think he clarifies that Swing and JavaFX, whilst competing in some senses, have different focuses also – JavaFX can be far more lightweight, allowing for it to be used in mobile devices far more readily than Swing will ever be.
  • And finally, everyones favourite blogger Joel Spolsky posted a blog about the wordy Java installation process. I agree that there is a job for someone within Sun to run through all these dialogs and try to simplify and clarify the message that Sun portrays to the outside world.


Boca is part of IBM’s Semantic Layered Research Platform.Boca Overview

It is “the foundation of many of our components.It is an enterprise-featured RDF store that provides support for multiple users, distributed clients, offline work, real-time notification, named-graph modularization, versioning, access controls, and transactions with preconditions.”

To be honest, I am still trying to fully understand what that paragraph means entirely. I am in communication with the IBM people involved with this project, and it may turn out that this technology becomes a part of my research this year.

I think my options right now are to either:

  • Use Jena to store the graph data by querying a database that has a D2R server sitting in front of it (D2R allows for relational databases to be queried using SPARQL).
  • Use Sesame to store the graph data by querying Boca, which wraps around a database (mind you, the database is a custom Boca one).

Regardless of option taken, I will likely need to write custom SPARQL queries to populate the graph.

Having written this, I’m torn. Boca offers some cool features (particularly real-time notification, versioning, access controls and the ability to update data), but so does D2R server (the ability to map multiple databases together). Ideally, it would be possible to get both sets of functionality. Maybe the Semantic web client library can help there?


You may wonder, what’s up with all these posts about Java? The answer is simple: I have thousands of lines of code in Java, and I’m not about to sit down and take the time to rewrite them in C# (in my opinion perhaps the only interesting language of Visual Studio).

This probably doesn’t bode well for the student ambassador for Microsoft at Massey I guess, but here’s something I said to Sean and Paul when I met them in Wellington a while back:

Don’t sell to students.

We don’t want to know that C# is 67% better than Java. It doesn’t really matter to us. What follows from this is the second point I made:

Do tell us about your cool ‘feature x’

This understanding was discovered after a recent presentation made to students at Massey in Palmy North – we left full of stats, but not really knowledgeable about the cool new features that we should take note of.

It is these features that make us want to switch to Microsoft solutions.

You all probably know that I’m a programmer – I don’t really care about the management and business aspects of things as much as I care about the beauty of the code (this coming from a managing director of his own business). I make no attempts to hide my desire to find the best tool for the job, as do many of my friends who left the presentation that day. Sadly, many of us left the presentation disappointed – we were effectively being sold to, and being sold to means percentages, misleading graphs, and ‘studies’. We are smart, we generally know what is happening in the world of IT, and we are students, we have the future ahead of us to use your products. We come to presentations open-minded, but we really don’t want to be told stats, and just as important:

Don’t speak negatively of your competition – we may just like / use them now, and mentally switch off (or worse, form a negative opinion of yourselves and your product) once the slagging begins.

Sorry for the long blog, I thought I would get something off my chest. I’m not inherently negative, I just want to save us wasting students, and consequently our, times. So, to return to the start: I use Java because thats what I have used, what I have all my code in, and what the people I work for want me to work in. I’m willing to change to a tool that makes my life easier / more enjoyable, but features, not stats, are going to convince me.

What is my feature x? Thats what we should all be asking whoever has the answers, and for those of us with the answers, that’s what we should be answering in the clearest way possible.