Bagaimanakah GIF animasi (berbasikal) boleh dimuatkan dan dipaparkan sebagai latar belakang untuk Bekas ayun, berbanding dengan imej statik yang dimuatkan menggunakan ImageIO.read() atau Toolkit.getImage()?
Untuk mendapatkan GIF animasi untuk lukisan tersuai, gunakan ImageIcon dan bukannya ImageIO atau Toolkit. ImageIcon menyediakan imej animasi, tidak seperti imej statik yang dikembalikan oleh kaedah lain.
Coretan kod berikut menggambarkan cara memuatkan GIF animasi dan menggunakannya sebagai latar belakang untuk 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<51; ii++) { imagePanel.add(new JButton("" + ii)); } f.setContentPane(imagePanel); f.pack(); f.setVisible(true); } }); } }
Dalam kod ini:
Jalankan kod ini untuk melihat GIF animasi dipaparkan sebagai latar belakang.
Atas ialah kandungan terperinci Bagaimana untuk Memaparkan GIF Animasi sebagai Latar Belakang Bekas Ayunan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!