Dialoging
I never thought designing an options dialog could be this complex. Which things go together? Which things are related to what aspect of the system? How do you use a GridBagLayout anyway? It's high time I learnt GridBag. It is the most flexible layout manager in Java, with a reputation for being fearsomely complex and impossible to learn. Perhaps it is undeserved, but the other layout managers (Flow, Grid, Card, Box, and Border) seem pretty simple once you get used to the concept. It's not like Visual Basic. VB is Lego for Windows, a drag and drop interface for designing windows. In Java, you do the graphical design in code.
It's odd how Java attracted so much praise for being an interpreted language. All VB ever got for being interpreted was derision. True, VB only runs on Windows, but it could have been made more universal. Java comes along, and suddenly interpreted byte code is the best thing since the pop up toaster. Sun made the effort and got Java Virtual Machines for just about every platform going, why didn't Microsoft bother with VB? They could have been years ahead of the field. Maybe it's tied too closely to Windows OS innards, maybe they think there's no serious challenge to Windows. The way CIOs have reacted to their "wonderful new licensing scheme" for WinXP suggests otherwise.