package com.esir.sr.sweetsnake.component; import java.awt.Dimension; import java.awt.Graphics; import java.awt.Image; import java.awt.image.BufferedImage; import java.io.IOException; import javax.imageio.ImageIO; import javax.swing.JPanel; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * * @author Herminaƫl Rougier * @author Damien Jouanno * */ public class ImagePanel extends JPanel { /********************************************************************************************** * [BLOCK] STATIC FIELDS **********************************************************************************************/ /** The serial version UID */ private static final long serialVersionUID = -5965163246192991484L; /** The logger */ private static final Logger log = LoggerFactory.getLogger(ImagePanel.class); /********************************************************************************************** * [BLOCK] FIELDS **********************************************************************************************/ /** The image */ protected Image image; /********************************************************************************************** * [BLOCK] CONSTRUCTOR **********************************************************************************************/ /** * * @param imagePath */ public ImagePanel(final String imagePath) { try { final BufferedImage bimage = ImageIO.read(ImagePanel.class.getResource(imagePath)); final Dimension dimension = new Dimension(bimage.getWidth(), bimage.getHeight()); setOpaque(false); setSize(dimension); setPreferredSize(dimension); image = bimage; } catch (final IOException e) { log.error(e.getMessage(), e); } } /********************************************************************************************** * [BLOCK] PUBLIC METHODS **********************************************************************************************/ /* * (non-Javadoc) * * @see javax.swing.JComponent#paintComponent(java.awt.Graphics) */ @Override protected void paintComponent(final Graphics g) { super.paintComponent(g); g.drawImage(image, 0, 0, null); } }