我使用photoshop制作了GIF,结果如下:
工作正常
当我将它加载到我的java程序时,我遇到了问题。当它通过箭头时,红线被窃听(我不知道它叫什么)。这是截图:
以下是代码,如果它有任何帮助
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();
}
});
}
}