我有一个我写的小程序,它有一个 JLabel(包含一个 ImageIcon)和一个 JPanel 内的自定义 ImagePanel。由于某种原因,JLabel 在首次运行/加载时从未出现在 mac os 上的 safari 和 firefox 中,但在其他操作系统(windows、linux)上它看起来很好。现在在同一个小程序中有一个按钮可以将图像翻转到另一个图像。在 mac os 上的 safari/firefox 上,单击按钮时,显示第二张图像,再次单击时,现在出现第一张图像!知道什么可能导致这个问题吗?即使在 Windows 的 safari 上,小程序也可以正常工作.. 即第一个图像加载并出现。
界面代码
public void createUI(){
mainpanel = new JPanel();
mainpanel.setMaximumSize(new Dimension(154, 212));
mainpanel.setMinimumSize(new Dimension(154, 212));
mainpanel.setName("mainPanel");
mainpanel.setLayout(new BorderLayout());
lcdpanel = new ImagePanel(bgLcdImage);
lcdpanel.setBounds(22, 22, 110, 28);
bgImage = Toolkit.getDefaultToolkit().createImage(bytes);//BufferedImage
label = new JLabel(new ImageIcon(bgImage));
mainpanel.add(lcdpanel);
mainpanel.add(label);
mainpanel.invalidate();
getContentPane().add(mainpanel);
repaint();
}
按钮点击代码
private void flipImage()
{
label.setIcon(new ImageIcon(backImg));
label.repaint();
lcdpanel.setVisible(false);
lcdpanel.repaint();
mainpanel.repaint();
this.repaint();
}
任何帮助,将不胜感激。
谢谢