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 animer 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 avec 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<51; ii++) { imagePanel.add(new JButton("" + ii)); } f.setContentPane(imagePanel); f.pack(); f.setVisible(true); } }); } }
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.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!