Как добавить панель с кнопками или лейблами на изображение в Java

У меня есть отрисованное изображение и я хочу в его определенную область вставить панель, которая содержит в себе таблицу из JButton или JLabel (пока не решил что лучше), но совершенно не понимаю как это сделать, потому что если просто добавляю еще одну панель, кроме панели с изображением - изображение или пропадает вовсе или становится очень маленьким шириной и высотой в несколько пикселей. Я новичок в программировании, поэтому буду рад любым советам. Спасибо! Вот исходный код класса:

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

class Shop extends JFrame {
JFrame shopF;
FishBase fb;
int mouseClicX;
int mouseClicY;
JPanel listVar;
Shop(){
    shopF = new JFrame("Рыболовный магазин");
    shopF.setSize(800,600);
    shopF.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    shopF.setResizable(false);
    shopF.setLocationRelativeTo(null);
    shopF.add(new ShopPanel());
    shopF.addMouseListener(new MouseListener() {
        @Override
        public void mouseClicked(MouseEvent mouseEvent) {
            mouseClicX = mouseEvent.getX();
            mouseClicY = mouseEvent.getY();
            if (mouseEvent.getX()>660&&mouseEvent.getY()>560){
                fb = new FishBase();
                shopF.setVisible(false);
                shopF.dispose();
            }
            repaint();
        }

        @Override
        public void mousePressed(MouseEvent mouseEvent) {

        }

        @Override
        public void mouseReleased(MouseEvent mouseEvent) {

        }

        @Override
        public void mouseEntered(MouseEvent mouseEvent) {

        }

        @Override
        public void mouseExited(MouseEvent mouseEvent) {

        }
    });

    listVar = new JPanel();
    listVar.setSize(210,300);

    shopF.setVisible(true);
}
public static void main(String[]args){
    SwingUtilities.invokeLater(new Runnable() {
        @Override
        public void run() {
            new Shop();
        }
    });
}
class ShopPanel extends JPanel{
    JPanel panel = new JPanel();
    Image imageBackground = new ImageIcon("src\\Image\\interface\\shop.jpg").getImage();
    Image imageFon = new ImageIcon("src\\Image\\interface\\shop_part2.gif").getImage();
    Image imageText = new ImageIcon("src\\Image\\interface\\shop_part1.gif").getImage();
    public void paint(Graphics g){
        g = (Graphics2D)g;
        g.drawImage(imageBackground, 0,0, null);
        g.setFont(new Font("TimesRoman", Font.PLAIN, 18));
        g.drawString("назад", 680, 550);
        g.drawImage(imageFon,225,10,null);
        g.drawImage(imageText,554,10,null);
    }
 }
}

Ответы (0 шт):