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

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

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.

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

  • Jacek Furmankiewicz writes about release 0.2 of SwingBuilder project that allows declarative UI binding via a YAML file. The project aims to address many of Swing’s pain points, such as verbosity, event listeners, layout management, data binding, background long running tasks, internationalization and more.
  • Looks like the Eclipse Albireo project that promised easy embedding of Swing components in SWT applications is losing some steam. According to Gordon Hirsch‘s post on the dev mailing list, both active developers (Gordon himself and Bruno Haible) are being reassigned a th their jobs, making it problematic to devote much time to bringing Albireo to beta and release status. With no community participation in development, looks like the project is heading towards stagnation.
  • Geertjan Wielenga overviews four of the available Java desktop frameworks (missing a couple of others in the process), giving some general advice on choosing the right framework for your project. A sound collection of tips which can be extended to pretty much any other programming field.
  • Geertjan is playing with the Swing Explorer project (by Maxim Zakharenkov) and explores its NetBeans integration. A noteable feature is jumping from the painting stack trace back into the NB source editor for the matching method.
  • Jasper Potts continues his series on customizing Nimbus appearance. He has posted a useful program that lists all Nimbus-specific UIManager entries, along with the graphics representation of the matching values (painters, borders, insets, colors, fonts). It gives a great visual overview of the entries that can be customized, even if a few rows show weird visuals (such as RadioButtonMenuItem[Disabled+Selected].checkIconPainter).
  • Christopher Deckers has announced release 0.9.6 of DJ Native Swing project that aims to bring native components, such as web browser, Flash player, video player or HTML editor into Swing applications. This release provides better integration logic with foreign native components.
  • Having problems skinning custom Swing components under the Swing system look-and-feel? SWT 3.5 might have an answer for you. One of the items for SWT 3.5 is to “provide an API to draw operating system themed controls and parts of controls”. As i have shown with native text rasterization, you don’t need to wait for Swing to provide the missing functionality (although it is most certainly nice when they do so).
  • And finally, Christophe Le Besnerais has the second part of his quest to create a modern-looking UI application in Swing, talking about breadcrumb bar, glowing icons and custom-shaped frames.