Acho que qualquer um que já programou Java Desktop deve odiar os FileDialog do AWT e do Swing. O do AWT não permite adicionar filtros, selecionar múltiplos arquivos e pastas, além de aparentar usar um widget antigo do Windows e não o mais atual. O do Swing demora pra instanciar, não emula perfeitamente o visual nativo (sem thumbnails e bookmarks do Windows Vista/7) e tem uns comportamentos estranhos no clique
Ontem descobri essa lib que permite usar o FileDialog nativo do Windows e por isso estou compartilhando aqui:
http://code.google.com/p/xfiledialog/
Já estou usando e aprovo, ela aumenta muito pouco o tamanho do projeto 
