Tlo zakrywa komponenty

0

Witam, mam problem z ustawieniem tla JFrame. Probowalem dopisac do JLabel wallpaper i dodac do
JFrame. Pozniej nakladac na to inne komponenty.Tylko JTextField pojawilo sie Od razu na tym tle.
Aby JButtons pojawily sie musialem najechac na to miejsce kursorem, zeby sie pojawily. Dodatkowo
mialem zegar , ten to w ogóle sie nie pojawil.
Potem probowalem zrobic to uzywajac JPanels. Najpierw glowny JPanel dodalem do ContentPane. Ten
panel mial rozmiar calego okna. Pozniej utworzylem JLabel dopisalem do nie wallpaper i dodalem do
JPanelu. Pozniej zinicjalizowalem JButton i dodalem do nowego JPanela, ktory umiescilem w glownym JPanelu.
Teraz juz mi nic nie rysowalo. Probowalem jeszcze jednej metody z graphics, ktory niby miala dzialac, ale
tez nic nie rysowalo.

Tutaj moze krotki kod drugiej opcj, ktora stosowalem.

public class Background {

       
        JFrame frame =new JFrame();
        JButton button;
        JPanel panel;
        JPanel panel2 ;
        JLabel wallpaper;
        Background(){
               
               
                frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                frame.setVisible(true);
                frame.setSize(400,400);
                frame.setLayout(null);
                Container contentPane = frame.getContentPane();
               
                panel = new JPanel();
                panel2 = new JPanel();
                panel2.setBounds(0,0,400,400);
                wallpaper = new JLabel ();
                wallpaper.setIcon(new ImageIcon("desert.jpg"));
                wallpaper.setBounds(0,0,400,400);
                panel2.add(wallpaper);
                contentPane.add(panel2);
               
                button = new JButton("button");
                button.setBounds(0,0,80,180);
                panel.setBounds(20,20,80,180);
                panel2.add(panel);
                contentPane.add(panel2);
               
               
        }
       
       
       
}

Czy ktos moglby mi powiedziec, jak mozna ustawic tlo (jakas tapete), aby nie przykrywala przyciskow i innych Komponentow. Istnieje jakas metoda, ktora u was funkcjonuje bez problemu? A moze cos jest nie tak z moja karta i np. powyzszy kod funkcjonuje tylko nie na moim kompie.

Z gory wielkie dzieki!!!

0

Wygrzebałem taki przykład

/* plik graficzny jako tło okna (JFrame)
   umieszczony jest jako przezroczysta etykieta (opaque JLabel)
   kolejność umieszania ma znaczenie - etykieta na końcu
 */

import javax.swing.*;
import java.awt.*;

public class Tlo extends JFrame
{
    public static void main(String[] args)
    {
        new Tlo();
    }
    //------------------------
    public Tlo()
    {
        setLayout(null);
        setPreferredSize(new Dimension(750,406));

        JButton b=new JButton("Abrakadabra");
        b.setBounds(10,10,120,25);
        add(b);

        b=new JButton("Hokus-pokus");
        b.setBounds(10,210,120,25);
        add(b);
        

        JLabel bg=new JLabel(new ImageIcon("resources/ayers.jpg"));
        bg.setOpaque(true);
        bg.setBounds(0,0,750,406);
        add(bg);

        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        pack();
        setLocationRelativeTo(null);
        setVisible(true);
    }
}

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