ich versuche schon seit einigen stunden ein animiertes gif bild in meinen panel zu bekommen!
leider wird es nicht animiert! ich hab es schon mit dem mediatracker probiert, aber alle tips die ich im internet gefunden haben, haben zwar so funktioniert aber nicht in meinem code!
meine frage: Wie bekomm ich die kleine animation in meinen Frame und zwar so das sie auch angezeigt wird (ohne fehler)
PS: den code habe ich mir aus verschiedenen vorlagen zusammengestrickt
mein code:
hier das resultat:
der smiley sollte aber so aussehen:
leider wird es nicht animiert! ich hab es schon mit dem mediatracker probiert, aber alle tips die ich im internet gefunden haben, haben zwar so funktioniert aber nicht in meinem code!
meine frage: Wie bekomm ich die kleine animation in meinen Frame und zwar so das sie auch angezeigt wird (ohne fehler)
PS: den code habe ich mir aus verschiedenen vorlagen zusammengestrickt
mein code:
Code:
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.net.URL;
import javax.imageio.ImageIO;
import javax.swing.*;
//pic erbt von Panel - spart eine Klasse
public class romantic extends JPanel
{
private static final long serialVersionUID = 1L;
BufferedImage pic1;
BufferedImage pic2;
BufferedImage pic3;
BufferedImage pic4;
BufferedImage pic5;
BufferedImage pic6;
BufferedImage pic7;//BufferedImage zum Speichern des Bildes
public static void main(String[] args) {
new romantic();
}
public romantic(){
//Bild in eigenem Unterordner. Unterordner befindet sich im Verzeichnis der Class-Dateien
//Mit URL laden funktioniert immer auch im JAR, etc.
URL pic_url1 = this.getClass().getClassLoader().getResource("sm_romantic_01.gif"); //kein Slash vor dem Unterordner!
URL pic_url2 = this.getClass().getClassLoader().getResource("sm_romantic_02.gif"); //kein Slash
URL pic_url3 = this.getClass().getClassLoader().getResource("sm_romantic_03.gif"); //kein Slash
URL pic_url4 = this.getClass().getClassLoader().getResource("sm_romantic_04.gif"); //kein Slash
URL pic_url5 = this.getClass().getClassLoader().getResource("sm_romantic_05.gif"); //kein Slash
URL pic_url6 = this.getClass().getClassLoader().getResource("sm_romantic_secret287.gif"); //kein Slash
URL pic_url7 = this.getClass().getClassLoader().getResource("sm_romantic_topsecret593.gif"); //kein Slash
//Bild laden mit ImageIO
try {
pic1 = ImageIO.read(pic_url1);
pic2 = ImageIO.read(pic_url2);
pic3 = ImageIO.read(pic_url3);
pic4 = ImageIO.read(pic_url4);
pic5 = ImageIO.read(pic_url5);
pic6 = ImageIO.read(pic_url6);
pic7 = ImageIO.read(pic_url7);
} catch (IOException e) {
e.printStackTrace();
}
//Frame anlegen - JPanel(dieses) reinpacken.
JFrame frame = new JFrame("Romantic");
frame.setLocation(200,200);
frame.setSize(200,350);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(this);
frame.setVisible(true); //wichtig - setVisible(true) zuletzt
}
//paintComponent überschreiben, Image zeichnen, super-Aufruf nicht vergessen
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(pic1,20,20,this);
g.drawImage(pic2,20,60,this);
g.drawImage(pic3,20,100,this);
g.drawImage(pic4,20,140,this);
g.drawImage(pic5,20,180,this);
g.drawImage(pic6,20,220,this);
g.drawImage(pic7,20,260,this);
}
}
hier das resultat:
der smiley sollte aber so aussehen: