The Source for Java Technology Collaboration
User: Password:



Editor's Daily Blog

That's Something I Do

Posted by invalidname on August 07, 2008 at 06:28 AM | Comments (0)

Codifying Swing's best practices

Last month, we noted an item in Kirill Grouchnikov's Swing Links of the Week indicating that Alex Potochkin had taken over the seemingly dormant Swing Application Framework project, following Hans Muller's departure from Sun earlier in the year.

Alex has opened up the channels of communication again, in his post Swing Application Framework update.

As you probably know, a few weeks ago I became the new specification lead for the Swing Application Framework project (JSR-296). This project has been fairly silent for the last little while, so it is high time to continue with working on this framework and complete it timely.

The main goal of this project is quite ambitious: create a Swing framework which allows to quickly create a simple Swing application and which is also flexible and extensible for the big commercial applications. The key to success it to recognize the common patterns and the best practices that help to create a good Swing application and implement them in the Swing Application Framework.

In this blog entry I want to describe the recent changes and give the reasons why it was done this way and bring up some issues to think over. Don't hesitate to share your opinion, we make it for you and your feedback is very important for us. The project is now in transition state and the API may be changed. The latest source files you can find in the Subversion reporsitory, zipped files are also available, the previous stable version can be found here.

This is a significant project, as Swing applications don't currently have a programmatic lifecycle and instead launch from pubilc static void main (String[]), with nothing but the programmer's own discipline to ensure that Swing actions are properly performed on the event-dispatch thread. There's also nothing to guide the handling of windows, the placement of toolbars and menubars, persisting GUI state between sessions, etc. The Swing Application Framework addresses these, relieving the Swing developer from providing slightly different implementations in every different Swing application.

Here's hoping that the project takes off with its new leadership.


Also in the Weblogs, Eamonn McManus reports that he's been Playing with the JMX 2.0 API. "Version 2.0 of the JMX API is being defined by JSR 255. I've written about some of the features in the new API before. They are trickling into the JDK 7 sources over time, so you can now play with some shiny new things. Here's a description of what they are, and how you can even access them from JDK 6 if you are brave..."

Ed Burns says Got a gripe with Servlet? Let's hear it! "Taking a cue from the success of the community that has grown up around the JSF IRC channel, my colleague and friend Rajiv Mordani has created an IRC channel for the entire Glassfish WebTier, on freenode. To access the channel, follow the instructions for the JSF irc channel but use #glassfish-webtier as the channel name, instead of ##jsf."


In Java Today, the SDN has updated its beginner's guide to JavaFX Script, Learning Curve Journal, Part 1: Exploring JavaFX Script. "In August and September 2007, John O'Conner of the Sun Developer Network wrote a series titled "Learning Curve Journal" designed to help users get started with the JavaFX Script programming language (shortened to JavaFX Script in the remainder of this article). A number of significant advances have been made to the language since then. Perhaps most important is the availability of a compiler-based version of JavaFX Script, which replaces the earlier interpreter-based version of the language. The Learning Curve Journal described the use of the interpreter-based version of the language. The Learning Curve Journal has been updated to show you how to use the compiler-based version of the language. Other changes have been made to make the articles current."

The latest edition, issue 177, of the JavaTools Community Newsletter is out, with tool-related news from around the web, new projects and a graduation (EchoPoint), and a Tool Tip on playing the game of not breaking the build.

Need to monitor the performance of code you don't have source for? Without the source, you don't have obvious means of instrumenting the code for performance monitoring. In a new article, Postcompilation instrumentation and performance monitoring, Nicholas Whitehead presents techniques for instrumenting Java classes and constructs without modifying the original source code.


In today's Forums, mikeazzi reports a Problem Loading a Jnlp-href'd Applet. "I am stuck again trying to load, and run a JavaFX applet using the applet tag's jnlp-href attribute. I have been struggling with this for a whole day, and still I haven't been to able figure it out, and I could really use a little help. I have also enabled all the debugging and tracing flags, but the error messages don't seem to giving me any helpful clues. One thing I could tell from the logs is that the plugin is not being able to load the jar files specified in the jnlp file. Why? I don't know. It does not to tell me enough to figure out why. I tried diiferent values for the applet's codebase attribute, moving the jars around. Nothing helped."

Marco Sambin wants JAI Image I/O to provide all-Java implementations, in the thread RE: [JAI-IMAGEIO] Mac OS X native version of JIIO. "As I mentioned in previous posts, a full pure-Java implementation of ALL JIIO codecs (including lossless JPEG) would be an acceptable alternative to a Mac OS X native version of JIIO, at least for our purposes. Things may be different for other developers, but I think "available functionality" comes before "high performance". Of course, having the two would be optimal..."

Finally, mcumings announces a new JXTA project in New ContentService API committed into trunk (JXSE). "Hello fellow JXTA users. Recently, I had the opportunity to develop and commit a new service into the core JXSE API - the ContentService. Simply put, the ContentService is a service interface which can be used by a JXTA end user to transfer arbitrary data (Content) from one Peer to another. This new API is intended to eventually replace the existing (unused) Codat API as well as the CMS project."


Current and upcoming Java Events :

Registered users can submit event listings for the java.net Events Page using our events submission form. All submissions go through an editorial review before being posted to the site.


Archives and Subscriptions: This blog is delivered weekdays as the Java Today RSS feed. Also, once this page is no longer featured as the front page of java.net it will be archived along with other past issues in the java.net Archive.




Bookmark blog post: del.icio.us del.icio.us Digg Digg DZone DZone Furl Furl Reddit Reddit
Comments
Comments are listed in date ascending order (oldest first) | Post Comment



Only logged in users may post comments. Login Here.


Powered by
Movable Type 3.01D
 Feed java.net RSS Feeds