package redpong; import java.awt.*; import java.awt.event.*; import java.util.*; import java.awt.geom.*; import javax.swing.*; import javax.swing.Timer; import javax.swing.event.*; public class RedPong extends JApplet { private RedPongDisplay jpd; public void init() { Container contentPane = getContentPane(); jpd = new RedPongDisplay(); contentPane.add(jpd, BorderLayout.CENTER); /* Key handling is in the applet rather than in RedPongDisplay because it only the top-level component can receive key events by default, apparently. The alternative would be to use setFocusable on RedPongDisplay but that doesn't work in some browsers. */ KeyHandler keyListener = new KeyHandler(); addKeyListener(keyListener); } private class KeyHandler implements KeyListener { public void keyPressed(KeyEvent event) { jpd.handleKeyCode(event.getKeyCode()); } public void keyReleased(KeyEvent event) {} public void keyTyped(KeyEvent event) {} } }