试图加载GIF,但有像素化块问题

时间:2015-05-21 04:08:43

标签: java pixel gif

我使用photoshop制作了GIF,结果如下:

enter image description here

工作正常

当我将它加载到我的java程序时,我遇到了问题。当它通过箭头时,红线被窃听(我不知道它叫什么)。这是截图:

enter image description here

以下是代码,如果它有任何帮助

    IDLE_DEFAULT_GIF.setIcon(new ImageIcon("IDLE-GIF.gif"));
    IDLE_DEFAULT_GIF.setBounds(x+128-130,15,204,172); //I set my panel's layout to null
    FSM_PANEL.add(IDLE_DEFAULT_GIF);

MCVE

包vendingmachine;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;


public class MainFrame extends JFrame{

    //WIDTH & HEIGHT//
    int WIDTH = 300;
    int HEIGHT = 350;

    //PANEL//
    JPanel FSM_PANEL = new JPanel();

    //GIF LABELS
    JLabel IDLE_DEFAULT_GIF = new JLabel();

    public MainFrame(){
        setLayout( null );

        //JFRAME 
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(WIDTH,HEIGHT);
        setVisible(true);
        setLocationRelativeTo(null);

        INIT_FSM_PANEL();

        repaint();
    }

    public void INIT_FSM_PANEL(){
        FSM_PANEL.setBounds(10, 8, WIDTH, HEIGHT);
        FSM_PANEL.setLayout(null);

        //The gif that caused the issue
        IDLE_DEFAULT_GIF.setIcon(new ImageIcon("IDLE-GIF.gif"));
        IDLE_DEFAULT_GIF.setBounds(10,10,204,172);
        FSM_PANEL.add(IDLE_DEFAULT_GIF);

        add(FSM_PANEL);    
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater( new Runnable(){

            @Override
            public void run() {
                MainFrame frame = new MainFrame();
            }
        });
    }   
}

0 个答案:

没有答案