58 lines
1.6 KiB
Java
58 lines
1.6 KiB
Java
package de.psychose;
|
|
|
|
import javax.imageio.ImageIO;
|
|
import javax.swing.*;
|
|
import java.awt.*;
|
|
import java.awt.image.BufferedImage;
|
|
import java.io.IOException;
|
|
|
|
/**
|
|
* @author: lucas
|
|
* @date: 15.11.14 21:36
|
|
*/
|
|
public class ActorHeart {
|
|
private JPanel mainPanel;
|
|
private ActorData[] actorDatas;
|
|
private ImagePanel imagePanel;
|
|
|
|
public ActorHeart() {
|
|
imagePanel = new ImagePanel("/de/psychose/heart1_klein_inv.jpg", "/de/psychose/heart2_klein_inv.jpg");
|
|
mainPanel.add(imagePanel);
|
|
}
|
|
|
|
public void update() {
|
|
imagePanel.repaint();
|
|
}
|
|
|
|
public void setActorDatas(final ActorData[] actorDatas) {
|
|
this.actorDatas = actorDatas;
|
|
}
|
|
|
|
private class ImagePanel extends JPanel {
|
|
private BufferedImage image1;
|
|
private BufferedImage image2;
|
|
|
|
public ImagePanel(String imageA, String imageB) {
|
|
try {
|
|
image1 = ImageIO.read(getClass().getResourceAsStream(imageA));
|
|
image2 = ImageIO.read(getClass().getResourceAsStream(imageB));
|
|
} catch (IOException e) {
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
|
|
@Override
|
|
protected void paintComponent(Graphics g) {
|
|
super.paintComponent(g);
|
|
|
|
if (actorDatas != null) {
|
|
for (int i = 0; i < actorDatas.length; i++) {
|
|
if (actorDatas[i] != null) {
|
|
g.drawImage(actorDatas[i].getTommyHeartbeat() ? image1 : image2, 263 * i, 0, null, null);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|