Cómo mostrar fondos animados en Swing con un GIF animado
Un GIF animado se puede mostrar sin esfuerzo en una aplicación Swing, pero animar un La imagen como fondo requiere un enfoque diferente. Para cargar una imagen animada como fondo, lo ideal es utilizar un ImageIcon para obtener la imagen.
ImageIcon proporciona una imagen animada, a diferencia de otros métodos que entregan imágenes estáticas. El siguiente código demuestra cómo animar el fondo de un panel con 50 botones usando un GIF animado:
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; iiEste código crea un ImagePanel, que estira la imagen animada para llenar el tamaño del panel. Luego agrega 50 botones al panel, lo que da como resultado un fondo animado con botones interactivos.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3