import java.awt.*;
import javax.swing.*;
class gifpnl extends JPanel {
  BorderLayout borderLayout1 = new BorderLayout();
  ImageIcon icon;
  public gifpnl() {
    icon = new ImageIcon("b.gif");
  }  public void paintComponent(Graphics g) {
    g.drawImage(icon.getImage(), 0, 0, this);
  }
}
为什么gif显示的不正常,本平很好的动态图片,
在面板中一显示就花了,非常不对,和图片查看器里看的一点都不一样
如何修改

解决方案 »

  1.   

    addButtonToToolBar(jButton1,
                               CommonTool.createImageIcon(
                                       "new.gif",
                                       "new"),
                               jToolBar1,
                               this.createLayerBean1, SEPARATSTAR);
      

  2.   

    class GIFPanel extends JPanel {Image image;public GIFPanel() {
    image = Toolkit.getDefaultToolkit().getImage("b.gif"));
    waitImage(image);
    }public void paintComponent(Graphics g) {
    g.drawImage(image, 0, 0, this);
    }private void waitImage(Image img) {
            MediaTracker mt = new MediaTracker(this);
            try {
                mt.addImage(img, 0);
                mt.waitForAll();
            } catch (InterruptedException ex) {
                ex.printStackTrace();
            } finally {
                mt.removeImage(img);
            }
        }
    }
      

  3.   

    换张图试试呢?还不行就用ImageIO读图试试.BufferedImage image = ImageIO.read(new File("b.gif"));