Animierte gif auf jPanel
In der überschriebenen Funktion für meine JFrame
:
@Override
protected void paintComponent(Graphics g) {
BufferedImage imagePerson;
try {
imagePerson = ImageIO.read(new File("errol.gif"));
} catch (IOException e) {
imagePerson = null;
}
g.drawImage(imagePerson, i * increment, j * increment - 1, null);
}
Wie kann ich dies ändern, damit die animation im gif angezeigt wird (ohne threading). Ich habe viele Stunden damit verbracht, zu versuchen, diese zu arbeiten, aber ohne Erfolg.
- Unabhängig davon, welche Lösung Sie verfolgen, werden Sie wahrscheinlich nicht wollen, um tatsächlich das laden von Bildern, jedes mal, wenn
paintComponent
genannt wird. Diese Methode nennt man ein viel. Laden Sie Sie einmal bei der Initialisierung und speichert Sie in einer Instanz-Variablen der Klasse.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Man könnte eine
ImageIcon
für diesen Zweck. Haben Sie einen Blick hier und hier. Wenn Sie die animation auf einenJPanel
, fügen Sie einfach einJLabel
(mit derImageIcon
) auf der Platte.Überprüfen Sie dieses Beispiel für die Anzeige einer animierten gif-Datei in Schwung. Sie müssen nicht zu verwenden, alle threads:
Quelle