run_n_inf7/Quellcodes/sonst_spiel_grosserpreis/ImageLabel.java
2025-01-02 12:26:47 +01:00

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;
}
}