Ich benutze paintComponent()
, um ein gif animiertes Bild am Backgound von JPanel
zu malen. Es zeigt das gif aber nicht animieren. Ich benutze Java 1.5 und ich weiß, dass ich Label mit Icon verwenden kann.Warum GIF-Animation nicht animiert, wenn sie in paintComponent() verwendet wird?
Weiß jemand, warum und wie man es repariert?
private static class CirclePanel extends JPanel {
ImageIcon imageIcon = new ImageIcon(BarcodeModel.class.getResource("verify.gif"));
Point point = f.getLocation();
protected void paintComponent(Graphics g) {
Graphics gc = g.create();
Graphics2D g2d = (Graphics2D) g.create();
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.3f));
g2d.setColor(Color.BLUE);
g2d.drawImage(imageIcon.getImage(), getWidth()/2, getHeight()/2, null);
g2d.drawRect(0, 0, getWidth(), getHeight());
g2d.setStroke(new BasicStroke(10f,BasicStroke.CAP_ROUND,BasicStroke.JOIN_MITER));
g2d.setFont(g.getFont().deriveFont(Font.BOLD | Font.ITALIC,15f));
g2d.drawString("Wait Please ...",getWidth()/2-imageIcon.getIconHeight()/3,getHeight()/2+imageIcon.getIconHeight()+15);
g2d.dispose();
}
Dies ist das GIF-Bild.
Edited: nur Bild Beobachter zum g2d.drawImage() Methode hinzuzufügen.
möglich Duplikat von [Zeige eine animierte BG in Swing] (http://stackoverflow.com/questions/10836832/show-ananimated-bg-in-swing) –