title: What Java Swing event can be used to know when application has finished starting?
body: <p>I'm looking for a place to hook some code to programmatically create, size and position a JPanel after the application has finished loading.</p>
  
  <p>I'm just starting with Java. I'm using NetBeans 6.5.1 with jdk1.6.0_13. I've used the new project wizard to create a basic Java/Swing desktop application. This is a SingleFrameApplication that uses a FrameView with a central main JPanel where all the UI elements are placed.</p>
  
  <p>I first tried my code in the FrameView constructor but when I try to arrange my JPanel based on the bounding rectangle of one of the design time controls I added to the UI, that control has not yet finished being positioned and sized so I'm getting all zeros for the coordinates.</p>
  
  <p>I've verified my code works as expected by calling it from a click event after the application has loaded so my problem is finding a way to know when everything is finished being sized and arranged.</p>
  
  <p>I also tried the componentShown event from the main JPanel but I later read that is only fired if setVisible is explicitly called which apparently doesn't happen during normal application startup.</p>
  
  <p>Can anyone provide some pointers? Thanks.</p>
  
  <p><strong>Update:</strong></p>
  
  <p>In addition to what I mention in my answer below, I also read about the Application.ready() method. This would also be a point in time of interest for knowing when the UI part of an application is finished doing everything it needs to do. Communicating to my view from the application seemed a bit messy though.</p>