import java.awt.AlphaComposite;
import java.awt.Composite;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.ImageIcon;
import javax.swing.*;

/**
  *
  * GUI Element zur Anzeige eines Textes vor einem Hintergrundbild
  *
  * @version 1.0 from 15.11.2016
  * @author Thomas Schaller
  */
  

  public class ImageLabel extends JPanel{
    
    protected ImageIcon image;
    protected Dimension sizeImage;
  protected String text;
    
      public ImageLabel(ImageIcon image) {
        super();
  this.image = image;
    init();
    }
    
    
  
      public ImageLabel(ImageIcon image, String text) {
        super();
        this.image = image;
  this.text = text;
    init();
    }
  

  
    private void init() {
  sizeImage=new Dimension(image.getIconHeight(),image.getIconWidth());
        
  }
    
  public ImageIcon getImageIcon() {
        return image;
  }
    
  public void setImageIcon(ImageIcon image) {
        this.image = image;
  }
    
  public String getText() {
        return text;
    }
    
    public void setText(String text) {
    this.text = text;
    }
    
    @Override
      protected void paintComponent(Graphics g) {
      super.paintComponent(g);
      Graphics2D graphics2D = (Graphics2D) g;
      //        graphics2D.fillRect(0,0,this.getWidth(),this.getHeight());
    Composite old=graphics2D.getComposite();
    if(image!=null)
    {
    //graphics2D.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.4f));
    graphics2D.drawImage(image.getImage(),0,0,
  this.getWidth(),this.getHeight(),null);
        }
  graphics2D.setComposite(old);
    graphics2D.drawString(text, 8, 40);
  
        
  }
    
  public Dimension getSizeImage() {
        return sizeImage;
}

    public void setSizeImage(Dimension sizeImage) {
        this.sizeImage = sizeImage;
    }

}
 
 
