title: Trying a Java pong
body: <p>I'm trying to do a Java Pong game. I have very little experience with Java and need some help. I've read a lot of stuff online, and below is the code I've come up with.
  I've created the following classes, but all I get is a grey screen. I'm just trying to implement the simplest solution for this. Could anyone point out any issues this code has? Thank you.</p>
  
  <pre><code>    package pong_test_1;
  
      import javax.swing.*;
      import java.awt.*;
      import java.awt.event.KeyEvent;
      import java.awt.event.KeyListener;
  
      /**
       *
       * @author jtrinidad
       */
  
      public class main_class extends JFrame implements KeyListener{
          static final int FRAME_WIDTH = 800;
          static final int FRAME_HEIGHT = 500;
          JFrame f;
  
          public main_class()
          {
              super();
              addKeyListener (this);
              setFocusable (true);
  
              f = new JFrame("Pong");
              f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  
              f.setResizable(false);
  
              f.setSize(FRAME_WIDTH,FRAME_HEIGHT);
              f.setVisible(true);
  
          }
  
          @Override
           public void keyTyped(KeyEvent e) {
          }
          @Override
          public void keyPressed(KeyEvent e) {
              Pong_Test_1 p = new Pong_Test_1();
              int keyCode = e.getKeyCode();
              switch( keyCode ) { 
                  case KeyEvent.VK_UP:
                      Pong_Test_1.p2_pos_y--; 
                      break;
                  case KeyEvent.VK_DOWN:
                      Pong_Test_1.p2_pos_y++; 
                      break;
                  case KeyEvent.VK_Q:
                      Pong_Test_1.p1_pos_y++; 
                      break;
                  case KeyEvent.VK_A :
                      Pong_Test_1.p1_pos_y++; 
                      break;
              }
              add(p);
              repaint();
          }
  
          /** Handle the key released event from the text field. */
           @Override
          public void keyReleased(KeyEvent e) {
  
          }
  
           public static void main(String[] args) {
              // TODO code application logic here
               main_class c = new main_class();
          }
  
  
      }
  </code></pre>
  
  <p>and</p>
  
  <pre><code>    /*
       * To change this template, choose Tools | Templates
       * and open the template in the editor.
       */
      package pong_test_1;
  
      import java.awt.*;
      import java.awt.event.*;
      import javax.swing.*;
  
  
  
      /**
       *
       * @author jtrinidad
       */
      public class Pong_Test_1 extends JPanel implements ActionListener{
  
          /**
           * @param args the command line arguments
           */
          //Sizes of each object
          static final int WIDTH = 10;
          static final int HEIGHT = 120;
          static final int RADIUS = 10;
          //Position of Player 1's paddle
          static int p1_pos_x = 10;
          static int p1_pos_y = main_class.FRAME_HEIGHT/2;
          //Position of Player 2's paddle
          static int p2_pos_x = main_class.FRAME_WIDTH - 20;
          static int p2_pos_y = main_class.FRAME_HEIGHT/2;;
          //Position of the ball
          static int ball_pos_x;
          static int ball_pos_y;
  
  
          Timer animator;
  
          public Pong_Test_1()
          {
              animator = new Timer (10, this);
              animator.start();
          }
  
  
          public void paintComponent(Graphics g){
              super.paintComponent(g);
              this.setBackground(Color.BLACK); //Sets background color
  
              g.setColor(Color.WHITE);
              g.fillRect(p1_pos_x, p1_pos_y, WIDTH, HEIGHT);
              g.fillRect(p2_pos_x, p2_pos_y, WIDTH, HEIGHT);
              g.fillOval(100, 100, RADIUS, RADIUS);
          }
  
          public void actionPerformed( ActionEvent e ) {
              repaint();
              revalidate();  // new line
          }
  
          private void addKeyListener(Pong_Test_1 aThis) {
              throw new UnsupportedOperationException("Not yet implemented");
          }
  
  
      }
  </code></pre>