Wednesday Apr 02, 2008

Rich Green's Tech Days Keynote St. Petersburg: Creating the Next Big Thing

Rich Green, Sun's executive VP for software, laid out what's happening in the rapidly changing world of software -- and challenged Russian developers to take it to the next level. [Read More]

Monday Mar 03, 2008

Arriving in Sydney for Sun Tech Days -- and what a city!

I've arrived in a most stunning place for what I anticipate will be a lively, engaging event, Sun Tech Days '08 in Sydney, Australia.[Read More]

Friday Feb 29, 2008

On Your Mark... Get Set... Go! to Sydney Tech Days

I'm totally jazzed about my first visit to Sydney, Australia, where I'll attend my very first Sun Tech Days event. I'm going to go to a slew of sessions and also have scheduled a video interview with Sun evangelist, Angela Caicedo, on Sun SPOT, a Sun Lab wireless sensor technology that can be used in numerous ways such as in robotics, to measure volcanic temperature, and even for eye-catching interactive art. Very cool in my mind.

[Read More]

Tuesday Feb 26, 2008

A Return to India

It's been said that once a visitor goes to India he or she can hardly wait to get out, but that once out, can hardly wait to get back.  In just such a return to India (he was there last year), Sun Executive Vice President for Software Rich Green gave the opening keynote at Sun Tech Days in Hyderabad. Of note is the fact that Green also made a return to Sun after a foray into the startup world. I don't know why Green left Sun, but I do know why he came back. I learned it in his interesting and expansive talk. The reason touches on the dramatic changes at Sun over the last year or two.

[Read More]

Thursday Jan 10, 2008

A Technical Visionary Talks About the Present and Future

Spontaneity works beautifully at times. Early in the afternoon on this second day of Sun Tech Days Atlanta, I had the good fortune of interviewing Rags Srinivas, CTO of Technology Outreach at Sun.[Read More]

A Snapshot of the JavaFX World

Sun tech evangelist Inyoung Cho provided a great presentation this morning on the latest in the JavaFX world.[Read More]

Wednesday Jan 09, 2008

Swing Application Framework and Beans Binding

Okay, I admit it. I was the co-author of “Java Swing,” a book which was published by O'Reilly ten years ago. I also admit that I've had several ideas throughout the years as to what would make a decent framework for Swing applications, including support for cataloging actions and resources, and cacheing of session state (window size, position, etc.). So, it was with great relief that a few years ago, I found that Hans Meuller on the Swing team was taking on this task in the new Swing Application Framework (JSR 296). I was equally glad to see that the scope of this project was something that “could be learned in a day.”

If you've ever worked with threads in Swing, or even the SwingWorker class, you probably know that it can be a bit of a challenge. Fortunately, JSR 296 will allow you to create tasks that can be started and monitored with the use of a TaskMonitor. In addition, there is a TaskService class that can help you organize each of your tasks and fire them off.

The Swing Application Framework also supports various lifecycle methods that you get when extending specific framework classes, such as initialize(), startup(), ready(), and shutdown(). Just extend the appropriate class, override these methods, and you won't have to worry about trapping any obscure events and reacting to them again.

I was also very impressed by the resource injection. Basically, this means that you can do something like:

Resource file:

btnShowTime.text = Show current time!
btnShowTime.icon = refresh.png
Java class:
btnShowTime = new JButton();
And at this point, the resources are injected into the btnShowTime class automatically. In addition, you can even do something like this:

Resource File:

MyPanel.greetingMsg = Hello, %s, a string was injected!

Java class:
String greetingMsg;

ResourceMap resource = ctxt.getResourceMap(MyPanel.class); 
String personalMsg = String.format(greetingMsg, txtName.getText());
JOptionPane.showMessageDialog(this, personalMsg);

There is also a new API out there for beans binding. If you've never heard of beans binding before, the idea is that two properties in two different beans need to remain synchronized. This is actually part of JSR 295. In short, this means you can do something like this:
Property property1 = ELProperty.create(“${faceStyle}”);
Property property2 = BeanProperty.create(“value”);

Binding binding = Bindings.createAutoBinding(
object1, property1, // source
object2, property2); // target

This will create a binding between the two objects such that if a value on either side changes, the other value will instantaneously be changed as well. It's simple, elegant, and it works! Kudos to Shannon Hickey and Scott Violet for a great addition to the Java APIs.

The People Behind Java University at Sun Tech Days Atlanta

On the morning of the first day of Sun Tech Days Atlanta (January 9), I hobnobbed with two lecturers, a sales support representative, and a business development manager, all from Sun Learning Services. They were on duty for Java University. Knowledgeable, inspiring folks![Read More]

Read about what goes on at Tech Days, what kinds of technical information is covered, and how the hands-on labs work for attendees.


« July 2016