title: JDialog.setAlwaysOnTop(true) brings all dialogs to the front under Windows
body: <p>I create two dialogs:<br/>
  DialogA: <code>setVisible(true)</code> called only once.<br/>
  DialogB: <code>setVisible(true)</code> and <code>setAlwaysOnTop(true)</code> called every 1,5 sec</p>
  
  <p>Windows: Each call to <code>dialogB.setAlwaysOnTop(true)</code> brings dialogA AND dialogB to the front.<br/>
  OSX: Each call to dialogB.setAlwaysOnTop(true) brings only dialogB to the front. (Expected Behaviour)</p>
  
  <p>Test Case (Windows):<br/>
  <br/>
  1 I start the application from my IDE.<br/>
  2 I see DialogA.<br/>
  3 I click in the IDE and DialogA disappears.<br/>
  4 After one second DialogA and DialogB will show up.<br/>
  5 I click in the IDE and DialogA and DialogB disappears. GOTO 4<br/></p>
  
  <p>Expected Behaviour(OSX): <br/> 
  4. After one second DialogB will show up.<br/>
  5. I click in the IDE and DialogB disappears. GOTO 4<br/></p>
  
  <p>Question: <br/>
  How do I get the expected behaviour under Windows?</p>
  
  <pre><code>import javax.swing.JDialog;
  import javax.swing.JLabel;
  public class JDialogSetAlwaysonTopTEST
  {
  public static void main(String[] p_Strings)
  {
      final JDialog dialogA = new JDialog();
      dialogA.setLocation(0, 0);
      dialogA.add(new JLabel("DialogA: Click on the overlapped   window"));       
      java.awt.EventQueue.invokeLater(new Runnable() {           
          public void run() {
              dialogA.pack();
              dialogA.setVisible(true);
          }
      });
  
      try {Thread.sleep(3000);} catch (InterruptedException e){}
  
      final JDialog dialogB = new JDialog();
      dialogB.setLocation(70, 70);
      dialogB.add(new JLabel("DialogB:  Do you see DialogA?"));
  
      java.awt.EventQueue.invokeLater(new Runnable() {           
          public void run() {
              dialogB.pack();
              dialogB.setVisible(true);
          }
      });
  
      while(true)
      {
          java.awt.EventQueue.invokeLater(new Runnable()  {                  
              public void run() {
                  dialogB.setAlwaysOnTop(true);  //prerequisite
                  dialogB.setVisible(true);
                  dialogB.setAlwaysOnTop(false); //prerequisite
              }
          });         
          try {Thread.sleep(1500);} catch (InterruptedException e){}
      }       
  }
  }
  </code></pre>