J1 Session Blog: Extreme GUI makeover: Hybrid Swing and JavaFX
June 4th, 2009Interview with Canoo Fellow Dierk König
June 4th, 2009
Scott Davis interviewed Dierk König, Canoo Fellow and Grails/Groovy-Evangelist for Thirsty Head at blip.tv. In the interview, Dierk gives an inside-view about new Grails improvements, about his JavaOne talk, JavaFX and the impact of Canoo Webtest. Enjoy this interesting chat about “beauty and code”!
Canoo @ WJAX/SOACon 2008
November 17th, 2008This is just a quick note about the WJAX Java developer conference that take place last week in Munich.
The conference program was quite balanced and beside the main stream topics about SOA (ServiceOrientedArchitektur – represented by the SOACon conference), Spring, Application Security and OSGi there was a huge number of different topics, which were addressed by several talks.
Most interesting from my point of view were following sessions:
- Keynote from Jonas Jacobi: Re-architecting the Web with HTML 5 Communication.
- Talk from Karsten Lentzsch: Efficient design of swing UI’s.
- Talk from Angelika Langer: Java programming in the age of multicore.
- Talk from Dierk Koenig: RESTful JEE with Grails.

Canoo was exhibiting on a booth, which gave the great opportunity to present and talk about our products UltraLightClient (ULC), the just released language application for the IPhone (using canoo.net), our demo for the new JavaFX platform and fancy UltraLightClient / Swing rich client applications. In addition Canoo members used the presence to keep in touch with existing costumers, contact new ones or presented the company to potential new staff members.
Canoo Online Quiz
All the visitors on the booth and all other interested software developers had and still have the possibility to join an online quiz. Its possible to win an iPod touch or one of ten ‘Groovy in Action’ books. The quiz can be found at www.canoo.com/quiz and will end at the 30.11.2008.
Dierk König, Canoo fellow and author of the ‘Groovy in Action’ book, was holding a groovy workshop and was giving a talk about RESTful JEE with Grails.
Scene Graph library announced at JavaPolis 2007
December 13th, 2007One of the many interesting talks I attended at the JavaPolis 2007 conference was the Swinging RIA talk. At the end of the talk Chet Haase announced the brand new Java Scene Graph library. Scene Graph gives you a new way to implement your visual output in Swing. It will replace the Jazz library that provides the Java2D stuff in the current JavaFX implementation. In the current release, the API is a little bit verbose but I expect this to change as the API is not final yet.

How does Scene Graph work? With Scene Graph, instead of subclassing a Swing component and providing your Java2D drawing instructions in a custom paint() method, you build up a data structure that declares your visual output, i.e old Java2D is the procedural approach to do graphics, whereas Scene Graph is the declarative approach.
How does this look in practice? In Scene Graph you amazingly build up a scene graph! Each scene graph is composed of nodes and each node represents a graphics operation, e.g.
- Painting a primitive
- Performing an effect
- Doing a transformation
- Playing an animation
So, for painting text, instead of
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2 = (Graphics2D) g.create();
g2.setFont(new Font("Arial", Font.BOLD, 128));
g2.setRenderingHint(KEY_TEXT_ANTIALIASING, VALUE_TEXT_ANTIALIAS_ON);
g2.drawString("Java2D", 50, 150);
g2.dispose();
}
you will have
SGText result = new SGText();
result.setText("Scene");
result.setFont(new Font("Arial", Font.BOLD, 128));
result.setAntialiasingHint(VALUE_TEXT_ANTIALIAS_ON);
result.setLocation(new Point(50, 180));
My impression is that a programmer familiar with Java2D is immediately productive with the Scene Graph library. Great! And as a bonus he gets good effect and animation support for free! Wow! I hope this is just a first step to:
- Powerful effect libraries
- Good animation libraries
- Visual scene graph tools
- Integrations into existing visual tools like PhotoShop
- …
Another thing that makes building good-looking Swing applications easy! Good!
Posted by Bruno
