"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment afficher des GIF animés comme arrière-plans dans les applications Swing ?

Comment afficher des GIF animés comme arrière-plans dans les applications Swing ?

Publié le 2024-11-23
Parcourir:103

How to Display Animated GIFs as Backgrounds in Swing Applications?

Comment afficher des arrière-plans animés dans Swing avec un GIF animé

Un GIF animé peut être affiché sans effort dans une application Swing, mais l'animation d'un l’image comme arrière-plan nécessite une approche différente. Pour charger une image animée pour un arrière-plan, il est idéal d'utiliser une ImageIcon pour obtenir l'image.

ImageIcon fournit une image animée, contrairement à d'autres méthodes qui fournissent des images statiques. Le code suivant montre comment animer l'arrière-plan d'un panneau comportant 50 boutons à l'aide d'un GIF animé :

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

Ce code crée un ImagePanel, qui étend l'image animée pour remplir la taille du panneau. Il ajoute ensuite 50 boutons au panneau, ce qui donne un arrière-plan animé avec des boutons interactifs.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3