title: Need Overview of Modern Java for Desktop Applications
body: <p>I've been asked to write a cross-platform desktop app in Java.  Targeted platforms are Windows/OSX/Linux.</p>
  
  <p>I learned Java 1.1 1997, and did a few small utilities and applets using the the AWT library.  I've done nothing with it since.  </p>
  
  <p>What modern technologies and libraries should I use for this project?  I'm just looking for a list so I can follow up with Google.  There is a lot of java stuff out there, and it  is difficult for an outsider to make sense of it all.</p>
  
  <p>Also, do you have any broad tips on distribution, installation and auto-updating?</p>
  
  <p>To give you an idea of my background, I've been writing complex desktop apps since 1988 in C, C++, Visual Basic, Delphi and C#.  Any tips you give me would really help me get a running start on this project.</p>
  
  <p>Thank you very much for your help.</p>
  
  <p><strong>EDIT:</strong>  I will be doing a lot of custom controls, if that makes a difference.</p>