Swing links of the week: September 7, 2008

September 8th, 2008

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

  • Fred Lavigne adds a JTable feature that he is missing from the Windows Explorer application – table header filler that spans to fit the available width when there is extra space after the columns. I’m not sure why he calls it a resize policy, but the code itself is quite straightforward. The only missing case is support for RTL tables (where the filler would be at the left end of the table header).
  • Roman Kennke continues his explorations of AWT / Swing on platforms beyond the usual target set of the platform matrix officially supported by major vendors (Sun, Apple, IBM). His current research is to have AWT non top-level widgets being painted by Swing (pure Java2D) code. Roman is one of the very few people outside Sun working on the UI side of OpenJDK. Responses to his mails on the relevant OpenJDK mailing lists are generally indicative of possible inclusion of his work into the main branch, and this process is fulfilling the promise of opening the JDK to the general open source community. However, i still don’t see this promise coming to full fruition. Personally i have expected more openness from Java2D, AWT and Swing teams in areas such as long-term plans, bug fixing plans, shaping new APIs and more. Dmitri’s comment on one of my last entry is indicative of the processes happening behind the closed doors (or at least the appearance of such). The specific case (API for shaped and translucent windows) is quite important for modern UIs. It was introduced in a slightly behind-the-scenes fashion for 6u10 as an internal API mainly targetting JavaFX. Bringing the community into the API design loop might not have been viewed as necessary at that point (since the relevant class is in an internal package), but if this is going to be a part of the official Java 7 API, it’s much better to gather the community thoughts now before doing the actual implementation.
  • Continuing on a tangent of unclear long-term plans for official Sun distribution of Java, Jacek Furmankiewicz has created a new project called ClassBuilder. The goal of this project is to provide framework for bytecode transformation of existing Java classes, in order to make them easily usable for data binding (and other uses) when developing Java desktop applications. This certainly fires a shot across the bow of BeansBinding project which hasn’t seen any development activity during the last ten months (with the exception of upgrading the project files to NetBeans 6.1 which can hardly be considered a development activity by any standards).
  • And finally, Ken Orr has announced the Mac Widgets for Java project. The goal of this project is to provide a collection of widgets seen in OS X applications, offered in a cross-platform Java API.