Stuff to Play With: the EnumComboBoxModel
April 17th, 2006
One of the great things about having a project like SwingLabs is that it gives me a place to put classes I've built that others might find useful. Today I'm going to describe my recent addition to SwingLabs, the EnumComboBoxModel
, a cute little class that lets you stuff enums directly into your comboboxes with no extra work.
The Summer of 1998
April 10th, 2006
Some time ago I wrote an article for Slashdot discussing Be, Apple, and the future of operating systems. The mention of Be should indicate just how far ago this was. The other day I decided to try to find the article both to find out if I was at all correct in my conclusions, and to see if my writing has improved at all. Well, I couldn't find the relevant article, as Slashdot's archives are not complete (and their search engine even less so) but as I was going backwards in time I ran across some articles that are quite interesting today. I suppose it's odd to think of something as recent as 6 years ago in an historical context, but in Internet years it must be centuries. So let's dive in:
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.