¿Cómo puedo poner un JButton en una imagen?

Estoy tratando de arreglar un JFrame donde habrá una imagen de fondo y en la imagen JButtons que hará algunos comandos. Intento hacerlo sin diseño porque quiero colocar botones pequeños en algunas ubicaciones específicas del JFrame, pero cada vez que lo hago, la imagen de fondo aparece al frente o el JFrame tiene un tamaño igual al tamaño del JFrame. Con el siguiente código, el JButton tiene el mismo tamaño que JFrame. He tratado de cambiar el tamaño y la ubicación del JButton pero nada. ¿Puedes ayudarme por favor

aquí está el código


public final class Test extends JComponent
{
 private Image background;
 private JFrame frame;
 private Dimension dimension;<p></p>

<pre><code>public Test()
{  
    dimension = new Dimension(15, 15);
    frame = new JFrame("Iphone");
    frame.pack();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.getContentPane().add(this);
    frame.setBounds(641, 0, 344, 655);
    frame.setVisible(true);

    test = displayButton("tigka");
    frame.getContentPane().add(test);
}

public void update(Graphics g)
{
    paint(g);
}


public void paintComponent(Graphics g)
{
    super.paintComponents(g);
    g.drawImage(background, 0, 25, null); // draw background
</code></pre>

<p>//        label();</p>

    test = displayButton("test");
}

public JButton displayButton(String name)
{
    JButton button = new JButton(name);

    button.setSize(100, 100);
    button.setPreferredSize(dimension);
    return button;
}

Respuestas a la pregunta(4)

Su respuesta a la pregunta