mouseListener problems

Hi everyone, I have some problems with my mouseListener. I’m developing a card game and I wanted to draw cards when the deck is clicked. Is it possible? Or do I need to make a mouseListener in my Board class, take the coordinates when the mouse was clicked and compare them to the coordinates of the deck?

Here’s the code of my Board class.


public class Board extends JPanel{
	
	public OrderCardsDeck deck;
	public Image img;
	private JFrame frame;

	public Board(JFrame frame){
		this.frame = frame;
		
		deck = new OrderCardsDeck();
		
		setFocusable(true);
		ImageIcon i = new ImageIcon("images/GtR.jpg");
		img = i.getImage();
		//help();
	}
	
	public void paint(Graphics g){
		int width = frame.getWidth();
		int height = frame.getHeight();
		super.paint(g);
		Graphics2D g2d = (Graphics2D) g;
		
		g2d.drawImage(img, 0, 0, width, height, null);
		g2d.drawImage((Image) deck.getImage(), 307, 231, null);
		g.drawString(""+deck.getCardsAmmount(), 343, 370);
	}
	
	
	//only for help in the construction of the board
	public void help(){
		this.addMouseListener(new MouseListener(){
			@Override
			public void mouseClicked(MouseEvent e) {
				System.out.println(e.getX()+", " + e.getY());	
			}
			@Override
			public void mousePressed(MouseEvent e) {}
			@Override
			public void mouseReleased(MouseEvent e) {}
			@Override
			public void mouseEntered(MouseEvent e) {}
			@Override
			public void mouseExited(MouseEvent e) {}	
		});
	}
}

And my OrderCardsDeck code, the class Deck is extending Components

public class OrderCardsDeck extends Decks{
	
	private int cards_amount = 144;
	private ArrayList<Cards> cards = new ArrayList<Cards>();
	
	public OrderCardsDeck(){
		setImage("images/back_m.jpg");
		this.addMouseListener(new MouseListener(){
			
			@Override
			public void mouseClicked(MouseEvent e) {
				cards_amount--;
				System.out.println(cards_amount);
				repaint();
			}
			public void mousePressed(MouseEvent e) {}
			public void mouseReleased(MouseEvent e) {}
			public void mouseEntered(MouseEvent e) {}
			public void mouseExited(MouseEvent e) {}
		});
	}

	public int getCardsAmmount() {
		return cards_amount;
	}
}