Greg has posted 18 posts at DZone. You can read more from them at their website. View Full User Profile

Pivot 1.0: Here it is!

  • submit to reddit

The Pivot development team is happy to announce the release of Pivot 1.0. Pivot is an open-source framework for building high-quality, cross-platform applications that are deployable both via the web and to the desktop. It began as an R&D effort at VMware but has now been made available to the community as an option for developers who want to build rich internet (RIA) applications in Java.

Pivot applications are written using a combination of Java and XML and can be run either as an applet or as a standalone (optionally offline) desktop application. While Pivot was designed to be familiar to web developers who have experience building AJAX applications using HTML, CSS, and JavaScript, it provides a much richer set of standard widgets than HTML, and allows developers to create sophisticated user experiences much more quickly and easily. Pivot will also seem familiar to Swing developers, as both Swing and Pivot are based on Java2D and employ a model-view-controller (MVC) architecture to separate component data from presentation. However, Pivot includes additional features that make building modern GUI applications much easier, including declarative UI, data binding, effects and transitions, and web services integration.

This release includes a number of improvements over the preview release announced in June, many of which were proposed or built by developers who joined the project after the initial announcement:

  • A new, optimized WTKX loader that uses StAX rather than DOM to parse the XML source
  • A new package supporting visual effects and animated transitions
  • Improved localization support that allows developers to define resources using hierarchical, UTF-8 based JSON files rather than flat, ISO 8859 Java properties files
  • New components:
    • Menus, menu bars, and menu buttons
    • Spinners
    • Mac OSX-like property sheets
    • Google Maps-like panorama-style scroll panes
    • Floating tool palette windows
  • A new charting library based on JFreeChart that is fully integrated with Pivot's data model classes
  • Support for custom color schemes in the default "Terra" look and feel package
  • "Pivot Explorer", a Firebug-like debugging tool
  • Improved documentation
  • Numerous bug fixes and performance improvements

Pivot 1.0 can be downloaded from its new home at This site will be the source for all future Pivot-related announcements and information.

References to Earlier Pivot Articles on Javalobby:

Published at DZone with permission of its author, Greg Brown.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)


Jose Jeria replied on Thu, 2008/10/16 - 2:51am

Is performance something that will be addressed later on? Just tried the "Stock Tracker Demo" and it took a good while to load. I also got a big scary dialog asking me if I wanted to run this. This framework might be more suitable for desktop applications instead of the web.

Greg Brown replied on Thu, 2008/10/16 - 7:24am in response to: Jose Jeria

Re: performance - what version of the Java plugin are you using? Applets tend to load much more quickly in J6u10.

Re: "big scary dialog" - the Stock Tracker applet needs permission to talk to the Yahoo! Finance server because it is on a different domain. See for more information on applet security.


Jose Smith replied on Thu, 2008/10/16 - 1:28pm

The jagged text in all of the components is very hard to read on an LCD monitor.

Greg Brown replied on Thu, 2008/10/16 - 1:34pm in response to: Jose Smith

Hi Jonathan-

Pivot text is rendered using standard Java2D antialiasing, and it has always looked pretty good on our development systems (Mac OSX, Windows XP, and Fedora). What OS/JRE version are you using?



Jose Jeria replied on Fri, 2008/10/17 - 7:19am

I was using Java 6 update 7. Upgraded to update 10 and it seems faster.

"Kitchen Sink" demo took about 30 seconds to load though. "Decorater Demo" took 27 sevens before it appeared. Maybe a progress bar would help here, since you only see a blank page while you wait.

Greg Brown replied on Fri, 2008/10/17 - 8:27am in response to: Jose Jeria

Interesting. I just installed the final release of J6u10 - the Kitchen Sink app started cold in about 12s and took 4-5s after that; the decorator demo took about 10s cold and also 4-5s after that. However, these numbers could easily be system-dependent - CPU, memory, and internet connection speed could all affect it.

The progress bar is a good idea.


Jose Smith replied on Fri, 2008/10/17 - 8:53am in response to: Greg Brown

Hi Greg, if you're performing your own java2d text rendering (i.e. drawString), you have to do a bit more work to get proper anti-aliasing.  Perhaps that's the issue?  See this article: 

Greg Brown replied on Fri, 2008/10/17 - 9:08am in response to: Jose Smith


We're currently setting the text rendering hint to enable anti-aliasing as follows:

graphics.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);

I had wondered if there was a way to obtain the system default - I'll give it a shot and see how it looks (though it sounds like this may only work on Java 6+).  


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.