As it shows on my code, I'm trying to make a simple JApplet with two JButtons and a JTextfield (which I haven't gotten to). Whenever I place everything on a container, I get a NullPointerException error. When I put it all on a JFrame, it works. I've made simple JApplets without placing all my components onto a JFrame before and they've worked but I can't seem to figure out why this one doesn't. 
import javax.swing.*;
import java.awt.Color;
import java.awt.Container;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.*;
public class ActionListenerPractice extends JApplet implements ActionListener
{
    Container con;
    //JFrame frame;
    JPanel panel;
    JButton dogButton, catButton;
    JTextField descriptionField;
    public static void main(String[] args)
    {
        new ActionListenerPractice();
    }
    public ActionListenerPractice()
    {
        init();
    }
    public void init()
    {/*
        //Create frame obj and set it
        frame = new JFrame();
        frame.setVisible(true);
        frame.setSize(500, 500);*/
        //Create panel obj and set it
        panel = new JPanel();
        panel.setLayout(new GridLayout(1,3));
        panel.setBackground(Color.black);
        //Add and set buttons
        dogButton = new JButton("I choose a dog");
        dogButton.addActionListener(this);
        dogButton.setBackground(Color.cyan);
        catButton = new JButton("I choose a cat");
        catButton.addActionListener(this);
        catButton.setBackground(Color.pink);
        //Add buttons to panel
        panel.add(dogButton);
        panel.add(catButton);
        //Add panel to container
        con.add(panel); 
        //frame.add(panel);
    }
    public void actionPerformed(ActionEvent e) 
    {
        if(e.getSource() instanceof JButton)
        {
            if(e.getSource() == dogButton)
            {
                JOptionPane.showMessageDialog(null,"You want to adopt a dog");
            }
            else if(e.getSource() == catButton)
            {
                JOptionPane.showMessageDialog(null, "You want to adopt a cat");
            }
        }
    }
}
 
    