title: How does Java's Swing framework make windows / frames?
body: <p>I have always used <code>javax.swing</code> when I am creating GUIs in Java. To make a window, all I've had to do is write:</p>
  
  <pre><code>JFrame frame = new JFrame("Cool Application");
  </code></pre>
  
  <p>I'm curious - how does <code>javax.swing.JFrame</code> actually make a frame, and how does it manage to remain operating-system-independent? Would it be possible for me to create a frame myself without using <code>JFrame</code>?</p>