Warum gif-animation nicht animieren, wenn Sie es in paintComponent()?

Ich bin mit paintComponent() zu malen, ein gif-animiertes Bild im hintergrund von JPanel.
Es zeigt sich das gif, aber nicht animiert.
Ich benutze java 1.5 und ich weiß, dass ich kann verwenden label mit icon.

Hat jeder Körper weiß, warum und wie es zu lösen ist?

    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.

Warum gif-animation nicht animieren, wenn Sie es in paintComponent()?

Bearbeitet: nur hinzufügen, Bild, Beobachter, um die g2d.drawImage () - Methode.

 g2d.drawImage(imageIcon.getImage(), getWidth() / 2, getHeight() / 2, this);
InformationsquelleAutor itro | 2012-07-25
Schreibe einen Kommentar