Skip to main content

Manic Monday

Posted by editor on April 9, 2007 at 7:44 AM PDT

Crunch-time, anyone?

For those of you working on projects that need to launch in a JavaOne timeframe, the show begins a month from yesterday, so this is probably crunch-time. If you took some time off for a Spring break, it's probably a mixed message of "welcome back" and "get moving". And for those taking Passover off, the crunch begins or resumes on Wednesday.

Today's probably going to be pretty dire here once I finish the blog, as I left everyone's Very Important Problems to pile up in e-mail for a couple afternoons last week during the upgrade, and indulged a little programming time doing a desklet for the AB5k widget environment. If you'll recall, about two years, ago, I complained in this space about the lack of a widget-type approach to doing a sort of "bang out a snippet of code and run it" tool that is provided by BlueJ, and that I'd found handy in the form of the classic Mac's "Java Diddler" application.

Thanks to JSR-199 exposing a programmatic interface to the Java compiler, it is actually a pretty simple matter to code up equivalent functionality. So I used NetBeans to put together NuDiddler, an AB5k desklet that lets you write some code and execute it immediately:


I thought I was close to done with it, and put source for a 1.0b1 up on the project's Google Group, but over the weekend, Josh and Cooper changed the API radically by changing Desklet from an interface to an abstract class (which will allow them to add new methods without requiring a new spec... Josh pointed to LayoutManager2 as an example of what he's trying to avoid). So now my desklet, like all others, is broken. Plus, NuDiddler has only worked in the AB5k container within NetBeans and not with the Web-Start'ed version, and the container's error message doesn't give me enough to go on. So, I'm not done yet. Which is too bad, because there's plenty of other work to crunch on.

I'm not the only one playing with AB5k. In today's Weblogs, James Gosling says he's been having Fun with widgets too.
"I've been having a lot of fun with Rob Cooper and Joshua Marinacci's AB5k Widgets for the World system. It's vaguely like Mac OS X's Dashboard, Vista's Sidebar, and Yahoo's Widgets, except that it works everywhere..."

Chris Campbell checks in with
Faster Java 2D Via Shaders, which describes "more performance improvements in Java 2D's OpenGL backend... Lots of pretty bar charts included..."

Finally, in Web Application Paradigm Specialization and JSF 2.0, Jacob Hookom writes,
"many developers are making the partial migration to rich web applications with AJAX and giant JavaScript libraries while retaining traditional page-oriented paradigms. Sitting in the gray area of web application paradigms often leaves you with less than ideal results."

Speaking of the JSR-199 Java compiler API, one of its architects tops the Java Today section.

In the latest SDN interview article, Meet Peter von der Ahé, Tech Lead for Javac at Sun Microsystems, the well-known spec lead and compiler engineer discusses the Kitchen Sink Language project, JSR-199 , generics, and his wish-list for Java SE 7.

The goal of the Blu-ray BD-J Application Development using Java ME site is "to serve as an introduction to the development of Java ME (formerly J2ME) applications on Blu-ray systems using the BD-J specification, and to provide up-to-date news and analysis on the technology and its commercial applications." Among its initial content is a conceptual guide to Java ME and reviews of the first titles to make use of BD-J, such as the game Dragon's Lair and the highly-interactive Blu-ray version of Disney's Chicken Little. is proud to announce the availability of NetBeans IDE 5.5.1
Release Candidate. This release supports the "v2" release of the open source GlassFish server, which is the basis for Sun Java System Application Server 9.1. In addition, 5.5.1 also contains many bug-fixes to NetBeans 5.5. NetBeans IDE 5.5.1 RC is available in English and has been localized
into simplified Chinese, Japanese, and Brazilian Portuguese. The final NetBeans IDE 5.5.1 release is planned for the end of May,

My NuDiddler experience also allowed me to follow up to the first of today's Forums messages, about the JSR-199 Compiler API. In this thread, jeremygwa wants to
Compile code into memory, *not disk*, then execute:
"Is this possible? If so, how do I execute the class instances? and how would I be able to have the jvm prefer the in-memory class name over the old unmodifed class on disk? Can this be done without third-party libraries? "

Harri Kaimio has some JAI behavior questions in
[JAI] Interpolation algorithms & renderable mode:
"I have been wondering what is the expected behavior when using operations that need interpolation (e.g. affine transformation) with renderable mode - especially how the used interpolation alogrithm is determined. Based on documentation it seems that JAI should use the interpolation algorithm that has been specified in operation's parameter block. However, it seems that in practice JAI renderable chain optimizes the transformation chain by combining all transformation matrices into one and performs that as part of MultiresolutionRenderableImage#createScaledRendering(). And that operation uses interpolation algorithm set in JAI.KEY_INTERPOLATION rendering hint, disregarding all "interpolation" parameters set in other transformations."

Finally, Mark McKay brings up the topic of
Rendering 2D shapes in OpenGL:
"I'm writing an application in JOGL and need to draw some curved 2D shapes (with an orthographic view, so they will appear to overlay the rest of the scene). Effectively, I want to emulate the Graphics2D.draw(Shape) and Graphics2D.fill(Shape). Some of these shapes will be defined by connected Bezier curves (similar to a GeneralPath). What's the best way to render such a shape in OpenGL? I can subdivide each of the Bezier segments into smaller segments until the resolution is small enough to approximate it with straight line segments - but that would lead to an extremely tessellated shape. And how would I emulate a stroked outline?"

This week's Spotlight is on the Beans Binding project, which gives you an advance look at the work going into the early draft of JSR 295, which uses a modified version of the GlassFish JSP/JSF Expression Language (EL) to keep properties of two beans in sync, which can in turn be used to simplify rich GUI development. This project provides the reference implementation of Beans Binding, with an additional emphasis on the ability to bind to Swing components, and easy integration with IDEs such as NetBeans. "The intended audience for this snapshot is members of the community interested in binding, who want to see where we're headed and to provide early feedback. So that's exactly what we're looking for at this point; constructive feedback and bug reports are welcome."

Current and upcoming Java

Registered users can submit event listings for the href=""> Events Page using our href="">events submission form.
All submissions go through an editorial review before being posted to the

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 it will be
archived along with other past issues in the href=""> Archive.

Crunch-time, anyone?