borrar imagen

Java

Estoy haciendo un jeugo sobre un cofre de tsosoro este solo cuenta con dos botones si para abrir o no para dejrlo cerrado.Cuando la ventana inicia dibuja el cofre cerrado pero cuando presionas el boton de Si se dibuj el cofre abierto pero no borra el primer cofre y si le presionas que no pues no borra ya los dos cofres que estaban como se podria solucionar eso..
aqui dejo el codigo fuente

Clase cofre
======================
import java.awt.Image;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;

public class Cofre
{
private boolean abierto;
private String contenido;
private int cantidad;
private Image imagen;
private int x=150;
private int y=150;

public Cofre(boolean abierto,String contenido,int cantidad)
{
this.abierto=abierto;
this.contenido=contenido;
this.cantidad=cantidad;
}

public void abierto()
{
try
{
imagen=ImageIO.read(new File("imagenes/cofreAbierto.png"));
}
catch(IOException e)
{
e.printStackTrace();
}
}

public void cerrado()
{
try
{
imagen=ImageIO.read(new File("imagenes/cofreCerrado.png"));
}
catch(IOException e)
{
e.printStackTrace();
}
}

public int getX()
{
return x;
}

public int getY()
{
return y;
}

public boolean estadoCofre()
{
return abierto;
}

public Image getImage()
{
return imagen;
}

public String toString()
{
return "Obtienes "+contenido+" "+cantidad;
}

public void setAbierto(boolean abierto)
{
this.abierto = abierto;
}

}

Clase Imagen cofre
===========================

import java.awt.*;
import java.io.*;
import javax.imageio.*;
import javax.swing.*;

public class ImagenCofre extends JPanel
{
public boolean condicion;
public Cofre cofreCuatroVientos=new Cofre(false,"Monedas del alba",5);

public ImagenCofre(boolean condicio)
{
this.setDoubleBuffered(true);
condicion=condicio;
repaint();
}

public void paintComponent(Graphics g)
{

super.paintComponent(g);
Graphics2D g2=(Graphics2D) g;

//Para saber si el cofre no hasido abierto anteriormente
if(cofreCuatroVientos.estadoCofre() == false)
{
//Si presionaron el boton abrir (Si)
if(condicion == true)
{
cofreCuatroVientos.setAbierto(true);
cofreCuatroVientos.abierto();
g2.drawString("Haz abierto el cofre de los 4 vientos.\n"+cofreCuatroVientos.toString(),50,100);
}
else
{
cofreCuatroVientos.cerrado();
g2.drawString("El cofre de los 4 vientos esta cerrado",50,100);
}
}
else
{
g2.drawString("El cofre ya esta abiero...",50,150);
}

g2.drawImage(cofreCuatroVientos.getImage(),cofreCuatroVientos.getX(),cofreCuatroVientos.getY(),null);
}
}

Clase ventana
========================
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Ventana extends JFrame
{
public ImagenCofre cofre =new ImagenCofre(false);

public JLabel texto =new JLabel("Te haz encontrado con el cofre de los 4 vientos deseas abrirlo:");
public JButton si=new JButton("Si");
public JButton no=new JButton("No");

public JPanel panelBotones;
public JPanel panelTexto;

//Cofre cofreCuatroVientos=new Cofre(false,"Monedas del alba",5);

public Ventana()
{
setTitle("Prueba ventana");
setLocation(250,50);
setSize(500,500);
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

panelTexto = new JPanel();

panelTexto.setLayout( new GridLayout(1,1));
panelTexto.add( texto );

panelBotones = new JPanel();
panelBotones.setLayout( new GridLayout( 1, 2 ));
panelBotones.add( si );
panelBotones.add( no );

Container contenedor = getContentPane();
contenedor.add( cofre, BorderLayout.CENTER );
contenedor.add( texto, BorderLayout.NORTH);
contenedor.add( panelBotones, BorderLayout.SOUTH);

//Boton para abrir el cofre
si.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evento)
{
cofre=new ImagenCofre(true);
cofre.paintComponent(getGraphics());

}
});

//Boton para cerrar el cofre
no.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evento)
{
cofre=new ImagenCofre(false);
cofre.paintComponent(getGraphics());
//cofre.updateUI();
}
});
}
}

Clase usar cofre
========================
import java.util.*;

public class usarCofre
{
public static void main(String[] args)
{

Ventana ver=new Ventana();
ver.setVisible(true);
}
}

======================================================