title: Object class isn't painting to screen
body: <p>I am currently working on a small coding project and I've run into an issue. I've looked over my past work and I can't seem to figure out why this program wont call the paint method. Currently I'm just trying to draw a circle to the frame.</p>
  
  <p>The following creates the window and the object class for the simple circle I'm trying to draw.</p>
  
  <pre><code>public class Main {
  
  public static void main(String[] args) {
  
      final int WIDTH = 700, HEIGHT = 900;
  
      JFrame frame = new JFrame("Physics Demo");
      JPanel content = new JPanel();
  
      content.setLayout(new GridLayout(1, 0, 0, 0));
  
      Character ball = new Character(WIDTH, HEIGHT);
  
      Timer changeFrame = new Timer (100, ball);
  
      frameSetup(frame, content, WIDTH, HEIGHT, ball, changeFrame);
  
  }
  
  public static void frameSetup(JFrame frame, JPanel content, int WIDTH, int HEIGHT, Character ball, Timer changeFrame){
  
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  
      frame.setContentPane(content);
  
      content.add(ball);
  
      frame.addKeyListener(ball);
  
      frame.setPreferredSize(new Dimension(WIDTH, HEIGHT));
  
      frame.setResizable(false);
      frame.pack();
      frame.setLocationRelativeTo(null);
  
      frame.setVisible(true);
      changeFrame.start();
  
  }
  </code></pre>
  
  <p>}</p>
  
  <p>The class below is the object class, when I run the program I get a response from the console. Character triggers once (as it should) and the actionPreformed method runs on loop with the timer. For some reason it doesn't run the paint class.</p>
  
  <pre><code>public class Character extends JPanel implements ActionListener, KeyListener{
  /* Identify the Objects values and physics,
   * Characters weight, size and properties are below.
   * 
   */
  private static final long serialVersionUID = 1L;
  
  final int characterRadius = 30;
  
  final double characterWeight = 0.5;
  
  int characterY, characterX;
  
  boolean bouncy;
  
  public Character(int WIDTH, int HEIGHT){
  
      System.out.println("Character called upon... " + WIDTH);
  
  }
  
  public void characterObject(Graphics g, int WIDTH, int HEIGHT){
  
      super.paint(g);
  
      System.out.println("characterObject graphics called upon... " + WIDTH);
  
      g.setColor(Color.BLUE);
      g.fillOval(350, 450, characterRadius, characterRadius);
  
  }
  
  /*
   * Ball does not have any player interactions
   */
  
  @Override
  public void keyPressed(KeyEvent buttonPressed) {
  
  
  }
  
  @Override
  public void keyReleased(KeyEvent arg0) {
  
  }
  
  @Override
  public void keyTyped(KeyEvent arg0) {
  
  
  }
  
  //******************************************
  
  @Override
  public void actionPerformed(ActionEvent arg0) {
  
      System.out.println("actionPreformed called upon...");
  
      repaint();
  
  }
  </code></pre>
  
  <p>}</p>
  
  <p>I've been doing trial and error for a while now and I can't seem to figure it out so I'm using this as a last resort.</p>
  
  <p>I can supply more information if needed.</p>