Salve a tutti, so che questa discussione è stata già ampiamente trattata in questa sezione, ma c'è un qualcosa di bizzarro che nn mi resco a spiegare..spero mi possiate essere d'aiuto.
Praticamente dovrei inserire al mio JFrame a cui ho legato un Jpanel e dei pulsanti, uno sfondo al JPanel. Vedendo le varie discussioni, sono riuscito a fare ciò, ma la stranezza consiste nel fatto che quando avvio il mio frame contentente il panel e l'immagine, mi appare solo quest' ultima, infatti i pulsanti "apparentemente non si vedono", poi passandoci sopra la finestra il cursore del mouse, ecco che appaiono improvvisamente ? Sapreste aiutarmi ??
vi posto il codice della mia classe che estende JPanel

codice:
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.JPanel;

class ImagePanel extends JPanel {

  private Image img;

  public ImagePanel(String img) 
  {
    this(new ImageIcon(img).getImage());
  }

  public ImagePanel(Image img) {
    this.img = img;
    Dimension size = new Dimension(img.getWidth(null), img.getHeight(null));
    

    /*setPreferredSize(size); // originale
    setMinimumSize(size);
    setMaximumSize(size);
    setSize(size);
    setLayout(null);*/
    setSize(700, 400); // questo settaggio l'ho creato io per adattarlo al mio frame
  }

  public void paintComponent(Graphics g) 
  {
      //g.drawImage(img, 0, 0, null);
      Dimension dimensione = getSize();// definiamo le dimensioni dell' immagine nello schermo 
      g.drawImage(img, 0, 0, dimensione.width, dimensione.height, null);
  }
lo richiamo nel Frame subito dopo il setTitle con la chiamata:

codice:
ImagePanel panel = new ImagePanel(new ImageIcon("percorso");
getContentPane().add(panel);