Вы можете использовать один метод jPanel.Override paint или paintComponent и нарисовать изображение графическим объектом.
public class MyCustomPanel extends JPanel{
private Image img;
public MyCustomPanel(// use constructor to get img or load it directly from below){
//load image
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
// Draws the img to the BackgroundPanel.
g.drawImage(img, 0, 0, this);
}
}
Затем вы можете перейти к главному классу и использовать этот JPanel
MyCustomPanel mcp=new MyCustomPanel(//img path);
mcp.add(new JLabel("Hello"),BorderLayout.CENTER);
add(mcp),BorderLayout.CENTER);
// и т.д.
Я надеюсь, вы понимаете
В следующий раз пост некоторые кода, если вы хотите имеют более быстрый и более сложный/более подходящий для вашего случая.
Что _exactly_ вы имеете в виду _ "overlay" _? Пожалуйста, объясните более четко, а также покажите нам свою попытку и проблемы, с которыми вы столкнулись. –