title: GiF as background for JFrame
body: <p>im making a mathematical game and want to use a gif as a background. Its dimensions are 1100*800</p>
  
  <p>I searched many posts how to add a GIF as background, but with no success. Any suggestions for a easy method (if using other components -JPanel,...; could you please show how?)</p>
  
  <p>So far, this is my code of the JFrame:</p>
  
  <pre><code>public class Game extends JFrame implements ActionListener {
         private JButton play, endG, tutorial, login, easy, medium, hard, next, checkAnswer;
         private JTextArea answer;
         int total, goodAnswer = 0;
  
         public Game(String heading) {
             super(heading);
             this.setSize(1100, 800);
             this.setLayout(null);
  
  
             firstScreen();
             setResizable(false);
  
         }
  
         public void firstScreen() {
             getContentPane().removeAll();
  
             play = new JButton();
             play.setBounds(373, 350, 354, 80);
             play.setIcon(new ImageIcon("entrancePlayButton.png"));
             play.addActionListener(this);
             play.setOpaque(false);
             play.setContentAreaFilled(false);
             add(play);
  
             tutorial = new JButton("Tutorial");
             tutorial.setBounds(345, 520, 150, 50);
             tutorial.setFont(new Font("Arial", Font.PLAIN, 20));
             tutorial.addActionListener(this);
             tutorial.setOpaque(false);
             tutorial.setContentAreaFilled(false);
             add(tutorial);
  
             endG = new JButton("End Game");
             endG.setBounds(605, 520, 150, 50);
             endG.setFont(new Font("Arial", Font.PLAIN, 20));
             endG.addActionListener(this);
             endG.setOpaque(false);
             endG.setContentAreaFilled(false);
             add(endG);
  
             revalidate();
             repaint();
         }
  
         public void difficultyScreen() {
             getContentPane().removeAll();
  
             easy = new JButton("Easy");
             easy.setBounds(450, 310, 200, 80);
             easy.setFont(new Font("Arial", Font.PLAIN, 30));
             easy.addActionListener(this);
             easy.setOpaque(false);
             easy.setContentAreaFilled(false);
             add(easy);
  
             medium = new JButton("Medium");
             medium.setBounds(450, 440, 200, 80);
             medium.setFont(new Font("Arial", Font.PLAIN, 30));
             medium.addActionListener(this);
             medium.setOpaque(false);
             medium.setContentAreaFilled(false);
             add(medium);
  
             hard = new JButton("Hard");
             hard.setBounds(450, 570, 200, 80);
             hard.setFont(new Font("Arial", Font.PLAIN, 30));
             hard.addActionListener(this);
             hard.setOpaque(false);
             hard.setContentAreaFilled(false);
             add(hard);
  
             endG = new JButton("Exit");
             endG.setBounds(1000, 700, 60, 30);
             endG.setFont(new Font("Arial", Font.PLAIN, 15));
             endG.addActionListener(this);
             endG.setOpaque(false);
             endG.setContentAreaFilled(false);
             add(endG);
  
             revalidate();
             repaint();
         }
  
         public void playGameScreen() {
             getContentPane().removeAll();
  
  
  
             revalidate();
             repaint();
         }
  
         public void tutorialScreen() {
             getContentPane().removeAll();
  
  
  
             revalidate();
             repaint();
         }
  
         private static double stringToDouble(String number) {
             double num = Double.parseDouble(number);
             return num;
         }
  
         public static void main() {
             Game areaGame = new Game("Area Game");
             areaGame.setVisible(true);
         }
  
         public void actionPerformed(ActionEvent actionEvent) {
             if (actionEvent.getSource() == play) {
                 difficultyScreen();
             }
  
             if (actionEvent.getSource() == tutorial) {
                 tutorialScreen();
             }
  
             if (actionEvent.getSource() == endG) {
                 int reply = JOptionPane.showConfirmDialog(null, "You are about to exit the game, are you sure?", "Exit game", JOptionPane.YES_NO_OPTION);
                 if (reply == JOptionPane.YES_OPTION) {
                     System.exit(0);
                 }
  
             }
  
         }
  
  
     }
  </code></pre>