- Found out my flat was infested with bugs
- Spent a month sleeping on the sofa because the bed was too infested to sleep on
- Threw out lots and lots of clothes and anything else which might harbor the little bastards
- Moved house (not seen any bugs yet, although I am getting very paranoid)
- Finally got the internet switched on at the new place today. [grin]
I've also decided to bite the bullet and convert my skeleton app from a crazy-custom GUI system (which wasn't originally designed for this kind of thing) over to use Swing instead. It was slowing me down too much and the end usability just wasn't good enough. So it now looks like this:
None of those controls are actually hooked up yet, this was just to get the components in the right place and resizing correctly, I'll start hooking them up to the actual functionality soon. I think it looks more professional, and it now actually resizes/maximises rather than being a single fixed resolution (which is nice).
I havn't touched Swing in about a year, I always had a love/hate relationship with it.
1. It always looks a bit grey and rubbish.
2. The speed isn't great.
3. Doing layouts is a pain (especially resizing ones).
On 1, I tried the windows look-and-feel and it's a heck of an improvements and much more accurate than before (thats the one shown in the screenshot). I also plan on getting a third party look-and-feel to get away from the default metal grey scheme.
With Java 1.5 the speed seems to be greatly improved. Startup time is still a touch slow, but once it's running it's much better. I've heard that with 1.5 Swing starts caching all sorts of drawing stuff now rather than starting from scratch all the time, I suspect this is making quite a difference.
On 3, I'm finally figuring out the best way to do layouts. The introduction of the BoxLayout which I've not used before also seems to help a lot.
Other than the layouts, Swing really is a joy to use (API-wise) as it's all pretty well designed and supports pretty much whatever you throw at it. I've also only just discovered the Action interface which lets you create command objects and attach them to pretty much and component (ie. both the 'new' file option and a 'new' toolbar button), and I'm going to look into the undo API to see if I can get some proper undo/redo support too.
But first, breakfast...