Here are some Swing links that you might have missed during this week:

  • Daniel Spiewak walks through the steps of creating a simple form, from sketching the design on a piece of paper to implementing it in code. Personally, i felt that the recommendation to select the layout that the specific developer feels comfortable with is not very good for long-term maintainability, and the team would be much better off with a solid and well-known third-party layout manager such as FormLayout. Not to mention that the resolution independence is a very important topic which should not be dismissed lightly.
  • Wim Deblauwe writes about the intricacies of providing responsive UIs with SwingWorker, using a very basic and common scenario of wiring a progress listener to a long background task.
  • On a related subject, Carl from Palantir dives into the SwingUtilities.invokeAndWait and its behavior in thread interruption scenarios.
  • Thierry Lefort continues his explorations of table-based data visualisation techniques, using the JXTable component from SwingX component suite to provide filtering and highlighting capabilities. The second part uses a color utilities class to provide distinctive highlighting on selected cells.
  • Tim Dalton posts an update on the progress of his SQUIB project that provides Scala bindings for Swing components. Reading the code examples on his efforts in Scala and the parallel efforts in Groovy i can’t help but think it is still not much more than syntactic sugar. Indeed, you save a few constructs here and there (which is not necessarily a good thing, at least in the short run). I’m not really sure what am i expecting, but i’m definitely lacking a “wow” factor, so to speak. Something that would make me want to switch to Groovy or Scala for my hobby dabblings in UI technologies.
  • Jan Erik Paulsen has a teaser on the new application that he is working on in Teppefall Labs. Called Teppefall Capture, it allows capturing pictures and videos from an attached (web) camera. He rightfully mentions the abysmal state of affairs with respect to anything remotely related to video, and hopefully this situation will be addressed this year. My number one Java desktop wish for 2008 – where art thou?
  • Chet Haase has announced that he left the Swing-land to work on Flex SDK. Personally, i wish him nothing but the best, and hope that he will have the same level of passion once the initial excitement over the new technology wears out.

Here are some Swing links that you might have missed during this week:

  • Thierry Lefort joins the ranks of Swing bloggers and opens his blog with a slew of posts. The first entry talks about rendering bar charts in table renderers, the second one adds zooming capabilities to tables (with a very interesting zooming on selection mode) and the third one shows how to use Swing worker in a modal cancellable dialog.
  • Geertjan Wielenga has a three-part introduction series to Beans Binding. Part 1, part 2 and part 3 walk through the various parts of the Beans Binding project.
  • Chet Haase has posted a video for his QCon 2007 talk. While there is nothing new there (it has been held last November), you might still be interested in a general overview of what is scheduled for 6.0 update N and 7.0.
  • Joshua Marinacci seems to confirm my guess on exporting Adobe artwork into JavaFX and SceneGraph formats. Here is what he says in the comments on a non-directly related blog entry: [h]owever, at JavaOne we will show you how to easily pull graphics created by designers using traditional design tools into your JavaFX applications
  • Alexander Potochkin reports on providing more support for JPopupMenus on system tray. Based on the comments on this entry, and on earlier entry by Artem Ananiev, this is another sore point for desktop-integrated Swing applications.
  • Finally, it looks like the next build (12) of 6.0 update N will have significant new functionality for Swing developers. In addition to a few performance-related issues on the new Direct3D pipeline, two new enhancements that i’ve talked about earlier have been marked as fixed for 6.0u10-b12: 6656651 for native text rasterization, and 6655001 for window translucency. Now this is definitely worth the wait.

Here are some Swing links that you might have missed during this week:

  • Christopher Deckers writes about the new functionality in drop 0.9.3 of his DJ Native Swing project. The main focus is on the possibility to mix heavyweight and lightweight components with lightweight components on top, to change their Z-order or re-parent them.
  • The new Metawidget project led by Richard Kennard announced its first drop. The stated goal of the project is to create UI components by inspecting existing back-end architectures (beans, annotations, XML config files). The target UI frameworks include Swing, JSF, Struts and Android, and it is possible to add support for more.
  • froglogic announced release 3.3 of their Squish UI testing tool. Main new features relevant to Swing development include support for testing mixed Swing / SWT applications, applets and WebStart applications.
  • Jan Haderka writes about the planned schedule for drop 0.9.2 of SwingX. The current timeline is late February or early March. Are we talking about the first stable release for JavaOne? :)
  • Philipp Meier shares a tip on writing cross-LAF cell renderers, based on an example of a combobox under the Nimbus look-and-feel.
  • Vaclav Pech is a new voice in the Groovy community that uses Swing as the “native” UI toolkit. His entries on binding and multithreading show a few examples of conciseness and expressive power of SwingBuilder. Now, if only my action listeners were all that simple…
  • Andres Almiray continues his tutorials on GraphicsBuilder. The second part talks about shapes and outlines.

Here are some Swing links that you might have missed during this week:

  • Chris Campbell introduces Effects Framework, the third major component of Scene Graph project. Some of the effects seem to be based on Romain’s original work on new blending modes, and some look to bring Photoshop-based functionality to Java and JavaFX applications.
  • Speaking of the JavaFX focus in the upcoming 6.0 update N, there are two very interesting bug reports in the bug parade. 6656651 talks about native font rasterizing (at least on Windows platform) and 6655001 hints on support for translucent and arbitrarily shaped top-level windows, backed up by hardware acceleration on Windows Vista.
  • The Groovy community continues charging ahead with wrapping complex Java2D code in simpler builders. Andres Almiray announces release 0.4.5 of GraphicsBuilder with support for more than 60 filters. Two examples that show the power of JHLabs filters and the simplicity in which they are exposed in GraphicsBuilder can be found here and here. Andres also kicks off the first part of his tutorial on DZone, and Dave Cherry rounds up with the support for JFreeChart library.
  • Nazmul Idris continues his tutorials on SwingX components. This week he features the tutorials on task pane containers and busy labels.
  • Jesse Kuhnert writes a rather misguided rant about Swing. The three points that he mentions as Swing’s worst parts are quite easily addressed. The core layout managers are indeed terrible – but what about the great third-party layout managers? A possible analogy for the web development would be doing everything in pure HTML (and its deficiencies with using tables for everything) instead of using much more flexible CSS layouts. The next point is about rendering hints and has been addressed in Chet’s blog. One can also employ more advanced techniques such as bytecode injection. And since when web developers had access to rendering hints? The last point is about signals and slots. Not sure how this relates to Swing. Perhaps something like Event Bus project?
  • Fabrizio Giudici continues one of the points touched on in the previous item. His post shows how he is using bytecode injection to add property change support to Java beans.