Obraz jako tło w JFrame

0

Witam
W jaki sposób mogę ustawić obrazek wczytany z dysku jako tło mojego okna?

Oto moj kod:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
import java.io.*;

public class obrazek extends JFrame implements ActionListener {
   private JLabel etykieta;
   private JTextField poleTextowe;
   private JButton przyciskOK ;
   private JButton przyciskOtworz;
   private JButton przyciskZamknij;
   public final int SZEROKOSC = 400;
   public final int WYSOKOSC = 300;
   private int liczba,pom1,s;

   DefaultListModel model = new DefaultListModel();
   finalJList lista = new JList(model);
 
   public obrazek()
   {
      setTitle("pierwsze");
      setSize(SZEROKOSC, WYSOKOSC);
      setLayout(new BorderLayout());

      Toolkit zdjecie = Toolkit.getDefaultToolkit();
      Image img = zdjecie.getImage("otwarta.jpg");
      setIconImage(img);
      //getContentPane().setBackground("otwarta.jpg");

      Random los=new Random();
      liczba=los.nextInt(100)-101;

      poleTextowe=new JTextField(200);
      poleTextowe.setMaximumSize(poleTextowe.getPreferredSize());
      Box ukladPoziomy=Box.createHorizontalBox();
      ukladPoziomy.add(poleTextowe);
 
      etykieta=new JLabel(""+liczba);
      Box ukladPoziomy1=Box.createHorizontalBox();
      ukladPoziomy1.add(etykieta);

      przyciskOK = new JButton("OK");
      przyciskOtworz = new JButton("Otworz");
      przyciskZamknij = new JButton("Zamknij");
      add(przyciskOK);
      add(przyciskOtworz);
      add(przyciskZamknij);

      Box ukladPion=Box.createVerticalBox();
      ukladPion.add(ukladPoziomy);
      ukladPion.add(ukladPoziomy1);
 
      Box ukladPion2=Box.createHorizontalBox();
      ukladPion2.add(przyciskOK);
      ukladPion2.add(przyciskOtworz);
      ukladPion2.add(przyciskZamknij);

      przyciskOtworz.addActionListener(this);
      przyciskZamknij.addActionListener(this);
      przyciskOK.addActionListener(this);
      poleTextowe.addActionListener(this);

      Container powZawartosci=getContentPane();
      powZawartosci.add(ukladPion,BorderLayout.CENTER);
      powZawartosci.add(ukladPion2,BorderLayout.SOUTH);
   }

   public static void main(String[] args) {
      obrazek ramka = new obrazek();
      ramka.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      ramka.setVisible(true);
   }

   public void actionPerformed(ActionEvent e) {
      Object z=e.getSource();
      if(z==przyciskOtworz)
      {
         File plik=new File("c:/liczby.txt");
         try{
            Scanner skaner = new Scanner(plik);
            while(skaner.hasNext())
            {
               s=Integer.parseInt(skaner.nextLine());
               if(s>liczba)
               model.addElement(s);
            }
         }
         catch(FileNotFoundException e1)
         {
            JOptionPane.showMessageDialog(null,"nie mozna otworzyc pliku");
         }
         catch(NumberFormatException e2)
         {
            JOptionPane.showMessageDialog(null,"niewlasciwe dane");
         }
      }
      else if(z==przyciskOK||z==poleTextowe)
      {
         pom1=Integer.parseInt(poleTextowe.getText());
         try{
            if(pom1>liczba)
               ((DefaultListModel)lista.getModel()).addElement(pom1);
            else
               throw new NumberFormatException ("Podana liczba jest mniejsza od wylosowanej."); 
         }
         catch (NumberFormatException ew)
         {
            System.out.println("dd:");
         } 
      }
      else if(z==przyciskZamknij)
         System.exit(0);
   }
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1