The Source for Java Technology Collaboration
User: Password:



Kirill Grouchnikov's Blog

Kirill Grouchnikov Kirill Grouchnikov has been writing software since he was in junior high school, and after finishing his BSc in computer science, he happily continues doing it for a living. He is currently working as a senior software developer in a large corporate environment and would like to share his views on the Java community, trends and code writing experience.



Trident animation library - overview and roadmap

Posted by kirillcool on June 26, 2009 at 10:13 AM | Permalink | Comments (1)

Trident is an animation library for Java applications, and this week i’ve written about the concepts behind it and APIs available to interested applications:

What’s next? Version 1.0 (code-named Acumen) is right around the corner. Release candidate is scheduled for June 29, and the final release is scheduled for July 13.

Trident is a new library, and its APIs need to be tested in real-world scenarios. While i have a few small test applications that illustrate the specific API methods, as well as medium sized demos (Onyx and Amber), there is always room for improvement.

Going forward, i intend to evolve Trident, and i already have a couple of post-1.0 features in the pipeline. Trident has evolved from the internal animation layer of Substance look-and-feel, and the next major release of Substance will be rewritten to use Trident – further testing the published APIs for usage in real-world scenarios. In addition, the next major release of Flamingo ribbon will add Trident-based animations – where applicable.

Your input and feedback are always highly appreciated. Download the latest daily bits, and read the documentation. Subscribe to the mailing lists and let me know what is missing, and how the existing APIs can be improved. If you find a bug, report it in the issue tracker. If you want to take a look at the code, check out the SVN repository and subscribe to the “commits” mailing list.

Swing / SWT applications do not have to be boring. Trident aims to simplify the development of rich animation effects in Java based UI applications, addressing both simple and complex scenarios. But it can only be as good as the applications that are using it. So, read the documentation, download the sources / binaries, integrate it in your applications and let me know what you think.



Flamingo 4.1 official release

Posted by kirillcool on May 26, 2009 at 09:26 AM | Permalink | Comments (0)

I am pleased today to announce the availability of the final release for version 4.1 of Flamingo component suite (code-named Guenivere). It is a stabilization release that adds a few minor features and fixes all known bugs.

Here is the list of minor features added in release 4.1:

  • Multi-row controls in ribbon bands
  • Rich tooltips for ribbon band expand buttons
  • Horizontal alignment for wrapped ribbon components
  • Internal tracking of disabled state of popup / action areas on command buttons for selecting the correct displayed icon
  • Tree breadcrumb adapter class is now abstract to enforce applications to provide the segment caption

To see the Flamingo ribbon component in action under core look-and-feels, run the following WebStart demo:

To see the Flamingo ribbon component in action under Substance look-and-feel, run the following WebStart demo:

If you want to test the ribbon in your applications, you would need the following (the last two only for applications running under Substance look-and-feel):

You are more than welcome to take Flamingo 4.1 for a ride and report any problems in the project mailing lists, forums or issue tracker.

Release 4.1 will be the base for the JavaOne technical session 4143 that will be held next Thursday, June 4th at 13:30 in Hall E 135. If you’re interested to hear about the ribbon and the Swing implementation, as well as in a few ribbon tricks that you might not be aware about, please drop by.



Substance 5.2 official release

Posted by kirillcool on May 26, 2009 at 09:22 AM | Permalink | Comments (0)

I am thrilled today to announce the availability of the final release for version 5.2 of Substance look-and-feel (code-named Quebec). The release notes for version 5.2 contain the detailed information on the contents of this release which include the following:

Click on the button below to launch a signed WebStart application that shows the available Substance features.

The following sub-projects are also available as releases:

You are more than welcome to take Substance 5.2 for a ride and report any problems in the project mailing lists, forums or issue tracker.

Sample screenshots of Substance 5.2 in action:



Animation blueprints for Swing

Posted by kirillcool on May 25, 2009 at 04:02 PM | Permalink | Comments (3)

Over at Pushing Pixels i have ran the series on adding animations to enable rich interactivity expected from modern Swing applications. The code is part of the Onyx project which aims to provide blueprints for animated Swing applications powered by the Trident animation library, and the series has covered the following:

  • Part 1 - adding simple animation behavior to such scenarios as component appearance (fade in), rollovers and window disposal (fade-out) using built in and custom class attributes and setters.
  • Part 2 - adding animated load progress indication while the application is loading data.
  • Part 3 - loading the album art matching the specific search string and asynchronously displaying the associated images.
  • Part 4 - scrolling the album covers showed in the container and adding animations to the scrolling.
  • Part 5 - complex transition scenarios.

How can you run this code locally?

  • Get the latest SVN snapshots of Trident and Onyx
  • The Onyx distribution contains the lib/amazon.jar. It has been created with the following steps:
    • wsimport -d ./build -s ./src -p com.ECS.client.jax http://ecs.amazonaws.com/AWSECommerceService/AWSECommerceService.wsdl .
    • jar cvf ../amazon.jar .
  • Get an Amazon E-commerce key
  • Run the org.pushingpixels.onyx.DemoApp class, passing your Amazon key as the only parameter to this class, adding the Amazon, Trident and Onyx classes to the classpath

If all went right, you should see the main application running and displaying Sarah McLachlan albums as in this video:

I hope you enjoyed this series. If you’re interested in adding rich animations to your Swing applications, you’re more than welcome to explore Trident and Onyx and report any bugs and missing features in the project forums and mailing lists.

Introducing Project Onyx - Animation Blueprints for Swing

Posted by kirillcool on May 15, 2009 at 12:40 PM | Permalink | Comments (1)

Project Onyx aims to provide blueprints for adding animation to Swing applications using the Trident animation engine. Onyx is a Swing RIA that connects to Amazon E-commerce backend and shows a list of albums for a specific performer. It is a pure Swing / Java2D application with only two dependencies - Trident and the classes generated by the wsimport tool from the Amazon E-commerce WSDL.

Over the next few entries i’m going to show code snippets that illustrate how Trident can be used to add simple and complex animations to your Swing applications. The full code is in the SVN repository, and here are a few videos that show the different parts of Onyx in action:

Fading in the main Onyx window, rollover animations on the close button and fading out the main window on disposing:

Asynchronously connecting to Amazon to fetch and display the list of albums, with fading and looping load progress animation, and smooth album scrolling:

Showing bigger album art and scrollable track listing in a separate window when an album is selected, complete with a complex scenario of showing the art and switching between the albums:



Google's Java editions

Posted by kirillcool on April 18, 2009 at 04:22 PM | Permalink | Comments (0)

Following the announcement of Google App Engine for Java, it’s interesting to see how Sun and Google differ in their analysis of market trends. Traditionally, Sun has three main “versions” of Java:

  • Java Standard Edition (SE) for desktop applications
  • Java Enterprise Edition (EE) for server side
  • Java Mobile Edition (ME) for phones

With JavaFX, the new (and perhaps belatedly rediscovered) focus on client side market has three versions:

  • Desktop profile
  • Mobile profile
  • TV profile

with a common profile that aims to write an application once, and have it run on all three types of displays - and the history will tell how well that will be supported and used in practice.

What about Google? This is how i see it:

  • GWT is Java Web Edition (WE)
  • Android is Java Device Edition (DE)
  • App Engine is Java Cloud Edition (CE)

and no stated goal (at least yet) to provide a common edition for GWT and Android.

For comments, click through to Pushing Pixels.



June 2009
Sun Mon Tue Wed Thu Fri Sat
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30        


Search this blog:
  

Categories
Accessibility
Community
Community: Java Enterprise
Community: Java Tools
Community: Java Web Services and XML
Community: JavaDesktop
Community: JDK
Community: NetBeans
Databases
Deployment
Eclipse
J2SE
JavaOne
Linux
Open Source
Performance
Porting
Programming
Swing
Web Services and XML
Archives

June 2009
May 2009
April 2009
March 2009
February 2009
December 2008
November 2008
September 2008
August 2008
May 2008
April 2008
February 2008
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005

Recent Entries

Trident animation library - overview and roadmap

Flamingo 4.1 official release

Substance 5.2 official release

Articles

Translucent and Shaped Swing Windows
The new "Consumer JDK," Java SE 6 Update N, offers desktop developers the ability to set per-pixel translucency on windows, which opens up a wide variety of possibilities for translucent and shaped windows previously only available to native applications. Kirill Grouchnikov shows how far these features can take you. Mar. 18, 2008

Debugging Swing
Proper Swing programming depends on widely known but unenforced rules about the proper handling of the event-dispatch thread, and failure to follow those rules leads to many Swing problems. In this article, Kirill Grouchnikov shows off techniques to find and fix bugs relating to Swing EDT misuse. Aug. 30, 2007

Adding Auto-Completion Support to Swing Comboboxes
Auto-completion, as seen in browser address bars (among other GUIs), can be a very useful and much appreciated trait for input fields in your GUI. However, all of the second-generation Java GUI toolkits provide the feature differently. Kirill Grouchnikov shows how to add auto-completion to comboboxes in GlazedLists, SwingX, JIDE, and Laf-Widget. Jul. 19, 2007

All articles by Kirill Grouchnikov »



Powered by
Movable Type 3.01D


 Feed java.net RSS Feeds