One of the things I enjoy pondering occasionally are ways to improve the often onerous task of building graphical user interfaces. I just found an interesting approach to doing this in Java that will be appearing in the next major release of the NetBeans IDE, its called “Matisse”, and you can see a demo of it here.
The problem with GUI builders is that they either tend to allow you to position GUI components absolutely, which is easy, but causes problems when your user decides to change the size of your dialog box, or they force you to use a layout manager which is far less easy, but where the GUI behaves correctly when resized.
Matisse makes it feel like you are doing the former, while actually doing the latter. It lets you drag and drop components onto the GUI, and infers things such as which components should probably be aligned together both horizontally and vertically, so that they stay in the right place when the GUI is resized.
XCode on the Mac does something similar, but it is nice to see this functionality in a cross-platform language like Java. This could be enough to tempt me away from Eclipse as my favourite Java IDE once it is stable (I have played with it and it isn’t yet anywhere close to being reliable enough for production usage).