Displaying an Animated GIF as a Swing Background
Question
How can an animated (cycling) GIF be loaded and displayed as the background for a Swing container, as opposed to the static image loaded using ImageIO.read() or Toolkit.getImage()?
Answer
To obtain an animated GIF for custom painting, use an ImageIcon rather than ImageIO or Toolkit. ImageIcon provides an animated image, unlike the static image returned by the other methods.
The following code snippet illustrates how to load an animated GIF and use it as the background for a panel:
import java.awt.*; import javax.swing.*; import javax.swing.border.EmptyBorder; import java.net.URL; class ImagePanel extends JPanel { private Image image; ImagePanel(Image image) { this.image = image; } @Override public void paintComponent(Graphics g) { super.paintComponent(g); g.drawImage(image,0,0,getWidth(),getHeight(),this); } public static void main(String[] args) throws Exception { URL url = new URL("https://i.sstatic.net/iQFxo.gif"); final Image image = new ImageIcon(url).getImage(); SwingUtilities.invokeLater(new Runnable() { public void run() { JFrame f = new JFrame("Image"); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.setLocationByPlatform(true); ImagePanel imagePanel = new ImagePanel(image); imagePanel.setLayout(new GridLayout(5,10,10,10)); imagePanel.setBorder(new EmptyBorder(20,20,20,20)); for (int ii=1; ii<p>In this code:</p><ol> <li>An <strong>ImageIcon</strong> is created using the new ImageIcon(url).getImage() line, and the resulting image is animated.</li> <li>An <strong>ImagePanel</strong> is used to stretch the image to fit the panel's size.</li> <li>Buttons are added to the <strong>ImagePanel</strong> to demonstrate the animated background.</li> </ol><p>Run this code to see the animated GIF displayed as the background.</p>
The above is the detailed content of How to Display an Animated GIF as a Swing Container Background?. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

DVWA
Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

SublimeText3 Chinese version
Chinese version, very easy to use

SublimeText3 English version
Recommended: Win version, supports code prompts!

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool