Once more Matisse Rocks
March 9th, 2006
I would just like to say that I'm more and more impressed with Matisse. It does it's absolute best to provide a realistic preview of running components at design time. Today I was building some component tests and was amazed to see that indeterminate progress bars are animated while in the designer! Have a look!
Props to the Trig Teacher
March 1st, 2006
I'm working on a program that requires I convert degrees of longitude into miles. Since we are mapping radians on to the sphere (mostly) that is Earth, I needed to do some trigonometric calculations. Upon whipping out some paper and pencil and drawing the triangles I needed I realized had to remember which function to use. Is it Sine, Cosine, or Tangent? Hypotenuse over Adjacent? Adjacent over Opposite? All... blurring... together....
All hail the PropertyChangeListener
February 26th, 2006
Often times when you are building an application you need to hook multiple components together in such a way that when one component changes others must do something. When you are building custom components there is often the temptation to build a custom set of listeners to go along with it. This seems like good component etiquette; after all this is how most of the javax.swing.*
components are built. Still, that's a big pain to create new listener types that must be implemented, just for observing simple changes. Plus it tightly couples your classes which can make your code brittle when making changes later. There must be a better way. And there is!
My Mustang Beta Thoughts
February 21st, 2006
By now you've probably all read
SwiXml builds better guis
February 21st, 2006
Just a quick note to let you know that I've got a new article up about SwiXml. SwiXml is an open source library for building Swing GUI layout using XML instead of code (ie: the evilness that is GridBagLayout). In the article you'll learn what you need to get started using it and how it works. Check it out and let me know what you think. Also let me know what other articles you'd like to see. I'm looking for new ideas. Thanks Josh
Easily Use Custom Swing Components with Matisse
February 7th, 2006
I know it's been quite a while since I've written anything. I've been busy with quite a few project and I'll have some cool stuff to share soon. In the meantime I thought I'd show you an interesting tidbit I discovered in Matisse and Netbeans.
Netbeans on Mac Tip
November 23rd, 2005
As some of you may know I'm a big Mac person. I split my time equally between my iBook (now heading back to the shop, alas) and my WinXP desktop. Being a dyed in the wool plain jane text editor type of programmer I've used jEdit for the past five years and have only recently started using an IDE like Netbeans. I've found Netbeans to a great productivity booster but on my iBook it seems to generate garbage at a mad pace. This is okay, it's just garbage, not a memory leak; but it's a pain when the editor locks up for five seconds to do garbage collection. Fortunately there is a solution.
I don't normally post about
November 18th, 2005
I don't normally post about non Java related tech stuff, but I thought I would mention this really cool new filesystem called ZFS. It's part of Open Solaris but will most likely be ported to other OSes soon enough. Even though it's made by my employer I hadn't ever heard of it until news started hitting the web a couple of days ago (Sun is a big company, after all).
Why use Java for Web 2.0?
November 14th, 2005
There's been a lot of talk lately about Web 2.0, and which technologies are going to take us there. We can debate the exact definition of Web 2.0, but I'd say a rough approximation would be an application which blurs the distinction between desktop apps and web apps. Many feel that the future is ultra-thin browser based client platforms like XUL or Ajax but I think that Java has a place, and will continue to grow in the future.
My First Full Day of JavaOne Japan
November 8th, 2005
I woke up this morning painfully early, 4:00, which, as anyone who knows me can say, is the time that people should be going to bed, not waking up. Until recently I didn't even know there was a 4:00 in the morning. Oh well, such is the cost of jetlag. Considering I'm 14 (or 10) hours different I think I'm adjusting pretty well.
My LA-JUG Peabody Presentation
November 6th, 2005
Last week I gave a presentation on Project Peabody for the Los Angeles Java Users Group, and I think it was well received. What's that? You've never heard of Project Peabody? That's okay. No one at the LA-JUG had heard of it either. We've only recently started using the name. Project Peabody is our community development project for new releases of Java; principally Mustang, aka: Java SE 6
Preparing for Tokyo
November 5th, 2005
I'm spending today packing for my exciting trip to Japan this week. Yes, I managed to wrangle a trip to JavaOne Tokyo, where I will be speaking on Java 2D performance, Swing layout, and helping out with the Peabody booth.
Design of a distributed disaster relief system
September 2nd, 2005
Katrina is big. Too big. By Katrina I don't mean the storm, but the overall situation. I feel like I did almost four years ago, unable to help or even understand much but realizing that our disaster services simply aren't up to the task. Sitting in California with sunny weather I wait, watch, and wonder what I can do.
Swing Hacks Bonus Article
August 12th, 2005
Time stands still for no man. Technology even less so. The world moves on and we have to adapt.
Get Swing Hacks for Five bucks
August 6th, 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. So if you've been wanting to get the book it's on sale. Also be on the look out for a new article feature more Swing Hacks material that didn't make it into the book.
Using Java2D to to build a Stacked Image Editor
July 25th, 2005
Brainstorm!
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 with creative use of the standard affine transforms. Around the same time Romain complained about having to draw some 3d diagrams using Photoshop. It wasn't hard work, just tedious.
Fold N' Drop
July 19th, 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.
Java One Lessons : The book
July 15th, 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.
Delta Lessons
July 14th, 2005
Okay. So I realize this is about two weeks late. I've been on vacation back home in Atlanta and then catching up on about 4 weeks worth of email, blogs, java.net forums, and even some features I promised to the Flying Saucer and JDIC Misc projects. I actually wrote most of this over a week ago but just now got the time to finish it up. Enjoy!