title: Swing and AWT Mixing is bad, but still done, why?
body: <p>I have noticed that people recommend not intermixing Swing and AWT <code>Components</code>, however we see this alot:</p>
  
  <pre><code>import javax.swing.AbstractButton;
  import javax.swing.JButton;
  import javax.swing.JPanel;
  import javax.swing.JFrame;
  import javax.swing.ImageIcon;
   //AWT imports though only for listeners
  import java.awt.event.ActionEvent;
  import java.awt.event.ActionListener;
  import java.awt.event.KeyEvent;
  </code></pre>
  
  <p>So why do many including Java (because I got that off their tutorial <a href="http://docs.oracle.com/javase/tutorial/displayCode.html?code=http://docs.oracle.com/javase/tutorial/uiswing/examples/components/ButtonDemoProject/src/components/ButtonDemo.java" rel="noreferrer">here</a>) still use AWT imports, though I see its mainly for <code>Listener</code>s.</p>
  
  <p>How do you add <em>native</em> Swing <code>Listener</code>s/Libraries for stuff like <code>Key</code>, <code>Button</code>, <code>JComboBox</code> presses/slections etc?</p>
  
  <p>Or would I use <code>firePropertyChangeListeners()</code>? (though that relates to Java Beans)</p>
  
  <p>It has been confusing me now for some time, most of my app have Swing and AWT which is said to be bad?</p>