アニメーション GIF を Swing 背景として表示する
Java Swing では、アニメーション GIF を背景画像として表示することは、ラベルに表示する場合と比べて課題となる可能性がありますまたは HTML コンポーネント。静的画像を背景として読み込むには、通常、ImageIO.read() または Toolkit.getImage() が使用されますが、これらのメソッドではアニメーションをキャプチャできません。
ImageIcon を使用してアニメーション GIF を取得する
Swing 背景でアニメーション GIF を表示するには、ImageIcon を利用できます。前述のメソッドで取得した画像は静的なままですが、ImageIcon で取得した画像はアニメーション化されます。
コード例
次のコード スニペットは、アニメーション GIF を追加する方法を示しています。ボタンのあるコンテナの背景:
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); } }); } }
このコード内:
以上がJava Swing でアニメーション GIF を背景として表示するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。