90 lines
1.9 KiB
Java
90 lines
1.9 KiB
Java
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;
|
|
}
|
|
|
|
}
|
|
|
|
|