I've been playing around with the Windows Vista Beta1 release lately, seeing how we're doing for compatibility and native look and feel. There are some minor issues that need to be fixed, but in general we're looking great. It's a nice confirmation of the changes we made in Mustang to use the uxtheme APIs in Windows to render our widgets for the Windows look & feel; we didn't need to make any...
on Aug 30, 2005
When the 2005 WritersUA Skills and Technologies Survey initially was published a coworker forwarded me the results showing JavaHelp with a 12% of the respondents saying it was valuable or invaluable to them. I didn't understand at first why he was so excited. I mean after all if the number had been 13% I would have been rejoicing since that was the number I wore in my athletic days. No...
on Aug 26, 2005
SwingX, one of the SwingLabs projects, offers a very interesting set of components sitting on top of Swing. Just before JavaOne, Richard Bair and I came up with a new Swing border you can use to cast shadows around your components. Creating this simple graphical effect gave us a lot of weird ideas and we decided it would be great to have a separate incubator dedicated to that...
on Aug 25, 2005
Earlier this year I was fiddling around with the new
APIs as part of a small demo-project. Sadly, the project just wouldn't
stay small and I didn't have time for something big. So
after a few days it disappeared into one of the many corners of
my laptop's hard disk, where it's been quietly moldering away.
One part of the old demo was a small GUI for
on Aug 25, 2005
As Kermit once almost said, "it's not easy being free."
Having a free and popular download has its advantages. Developers like the platform, they grab updates, they post bugs, they participate in forums, they come to conferences, they read blogs (I hope), ....
But being free and popular also has a downside (beyond the whole "revenue" thing): we don't necessarily know what parts of our...
on Aug 19, 2005
For years Java developers have been warned about the dangers of using finalize methods to release system resources. Josh Block describes the issues thoroughly in his book, Effective Java (Item 6: Avoid finalizers), but just Google for "avoid finalizers" or "finalizers considered harmful" to find hundreds of similar discussions not just about Java, but most other languages that offer the facility...
on Aug 17, 2005
Most of the nowadays open-source and commercial products extensively use other products. Although the "not invented here" syndrome is infective, things such as look-and-feel, layout managers, graph libraries, reporting tools etc. are taken from well-known and actively maintained third party sites. These tools come in variety of licenses, most of which require you to include the corresponding...
on Aug 13, 2005
In my last blog's comments Andy Roberts asked the following question:
I always keep my eye on SwingLabs because it is adding great value to the existing Swing toolkit. One thing that confuses me is just *how* it interacts with Swing, within the development process, that is. SwingX is an incubator for neat features, for example, sortable tables. Yet the approach adopted by Swing devs in Mustang...
on Aug 12, 2005
Time stands still for no man. Technology even less so. The world moves on and we have to adapt.
When Chris and I started writing Swing Hacks it represented the most advanced Swing techniques that we knew at the time. That was almost a year ago, though, and the world has moved on. Java 1.5 has become mainstream (on Windows at least), we've had a successful Desktop track at Java One, and I've...
on Aug 12, 2005
IntelliJ IDEA 5.0 is out, and since one of my projects is on the approved list, I seized an opportunity to start working with it.
While some of the features are not for me (such as JSP 2.0, J2ME and CSS support), others come in very handy (one of my favourites is an insanely fast code inspector). One of the features (that was already present before) allows you to switch look-and-feels of the...
on Aug 9, 2005
I just got an email from my co-author and looked up the Fry's ads for the San Jose Mercury news. If you live in the Bay Area (or San Jose, at least) then you can get a copy of Swing Hacks for 20$ minus a 15 dollar rebate, for a final cost of 5 bucks. Supposedly it's even cheaper in Atlanta. I don't know what stores this applies to so be sure to check out the ads for the local Fry's in your area...
on Aug 6, 2005
I'm not surprised to find negative sentiments towards GUI builders of the kind recently voiced by the HackNot blog (and linked by John Reynolds). For a long time, I avoided GUI building in Java, finding it a terribly unpleasant exercise.
Over the past year, I've experienced a very pleasant change in attitude, and whereas last year I would have voiced ambivilance about using GUI tools, today I...
on Aug 1, 2005
When I posted the blog entry Phil's Font Fixes, what I really wanted to write about was how the use of RGB striping on LCD monitors allows LCD text to work. But that went way beyond the scope of a simple blog entry, so I just posted that blog without the geeky details, and continued writing the article I really wanted. I finally finished that article and posted it on java.net.
on Jul 26, 2005
Every now and then I get the idea to build a cool program that does something interesting. Sometimes I get an idea by seeing another program, or seeing an interesting API I've never noticed before. Sometimes both. A few weeks ago I was thinking about how close to 3D I could get while still using the Java2D APIs. There's no perspective transforms in Java2D but you can fake a lot of 3D...
on Jul 25, 2005
This blog gives my late report of JavaOne 2005, basically staffing the JDIC
show, and an exploration of missing features in the desktop/Java integration territory,
the focus of the JDIC project. Bridging such gaps would backup Java at the
center of client-side development.
A Recap of JDIC@JavaOne 2005
It's my second time
attending JavaOne and the first time to be a speaker (of the...
on Jul 25, 2005
The Plastic look and feel family is very well known and widely used among Java community. That said I am often disappointed to see some programmers plug it into their UI without taking a look at the available options. Let's take a look at a sample, rather bad looking Swing application:
"Yiech!" And you're right. One way to fix this UI is to change the look and feel. Now, it has many other issues...
on Jul 24, 2005
In one of my previous entries i've shown how to use Java2D to create layered icons for your application. Unfortunately, most of the time we think about icons in pixel-precision format, instead of thinking of them as vector graphics. Let's see an example first:
The icons are shown starting from 10*10 to 36*36 size. As you can see, the icon components are nicely scaled (including inner graphics...
on Jul 23, 2005
This has to be one of the coolest frame hacks I've run across. I also think this is a great use of a gestural interface techniques. The idea is that you can fold windows down to access what is behind them. They have a small java application (54k) that does everything.
on Jul 19, 2005
JavaOne 2005, Moscone Hall in San Francisco, Thursday at 2:30.
It was the very end of a very long week. A week that ended on June
29th and began in March.
and I had just debuted the GUI Puzzlers technical session and despite
some lunch and wandering around, we were both exhausted. We took our
seats for the last desktop session on the last day of the conference.
Weaker men would...
on Jul 15, 2005
Java One Lessons
The highlights for me were our session for Swing Hacks and meeting with customers at the JDIC and JDNC booths (more on that in my next blog). It's great to interact with developers (my "customers" essentially) and get some real feedback.
The session for Swing Hacks went quite well. I was incredibly nervous (I've never spoken in front of more than 50 people before), but calmed...
on Jul 15, 2005