Heim >Java >javaLernprogramm >Wie zeige ich animierte GIFs als Hintergrund in Swing-Anwendungen an?
So zeigen Sie animierte Hintergründe in Swing mit einem animierten GIF an
Ein animiertes GIF kann mühelos in einer Swing-Anwendung angezeigt werden, aber das Animieren eines Ein Bild als Hintergrund erfordert einen anderen Ansatz. Um ein animiertes Bild als Hintergrund zu laden, ist es ideal, ein ImageIcon zu verwenden, um das Bild zu erhalten.
ImageIcon stellt im Gegensatz zu anderen Methoden, die statische Bilder liefern, ein animiertes Bild bereit. Der folgende Code zeigt, wie man den Hintergrund eines Panels mit 50 Schaltflächen mithilfe eines animierten GIF animiert:
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); } }); } }
Dieser Code erstellt ein ImagePanel, das das animierte Bild streckt, um die Größe des Panels auszufüllen. Anschließend werden dem Bedienfeld 50 Schaltflächen hinzugefügt, wodurch ein animierter Hintergrund mit interaktiven Schaltflächen entsteht.
Das obige ist der detaillierte Inhalt vonWie zeige ich animierte GIFs als Hintergrund in Swing-Anwendungen an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!