title: Java keyListener not working on BasicConstruct
body: <p>I am testing some things with j3d and i cant seem to get a keylistener to work for a BasicConstruct. It isn't doing anything when i press ay of the 38 key (up), not even the debug output to console. heres part of my main class "BasicConstruct". here is where it should be registering:</p>
  
  <pre><code>@SuppressWarnings("deprecation")  //for the bc.show(true);
  public static void main(String[] argv) {
      bc = new BasicConstruct();
  
      bc.setTitle("3D Rendering");
  
      bc.setSize(500, 500);
      bc.setLocationRelativeTo(null);
      bc.setDefaultCloseOperation(EXIT_ON_CLOSE);
      bc.refresh(addBox(0f, 0f, 0f, 0.005f, 0.5f, 0.5f, 
          new Color3f(1, 0, 0), new Color3f(1, 0, 0)));  //draws a box on screen. not relevant to the queston
  
      bc.setFocusable(true);
      bc.addKeyListener(new PopClickListener());
  
      bc.addDirectionalLight(new Vector3f(0f, 0f, -1f), new Color3f(1f, 1f, 0f));
      bc.finalise(rootBranchGroup);
      bc.show(true);
  }
  </code></pre>
  
  <p>and the PopClickListener class (havent bothered to rename it):</p>
  
  <pre><code>import java.applet.Applet;
  import java.awt.event.KeyEvent;
  import java.awt.event.KeyListener;
  import java.util.Random;
  import javax.vecmath.Color3f;
  public class PopClickListener extends Applet implements KeyListener {
      /**
       * 
       */
      private static final long serialVersionUID = 1L;
      public void keyPressed(KeyEvent e) {
          if (e.getKeyCode() == 38){
              BasicConstruct.placeblockonscreen(BasicConstruct.bc, randInt(.1f, 0f),
                  randInt(1f, 0f), randInt(.1f, 0f), randInt(.1f, 0f), randInt(.1f, 0f),
                  randInt(.1f, 0f), new Color3f(10, 10, 10), new Color3f(10, 10, 10));
                  System.out.println("hey"); //debug
          }
      }
      public void keyReleased(KeyEvent e) {}
      public void keyTyped(KeyEvent e) {}
  
      public static float randInt(float min, float max) {
  
          Random rand = new Random();
  
          float finalfloat = rand.nextFloat() * (max - min) + min;
  
          return finalfloat;
      }
  }
  </code></pre>