我有一个 JLabel 图标,我只能看到一次更改。空白时,以下代码的新设置图像可以正常工作。但在那之后,图像被卡住了。没有新的图像可以取代它。当我在没有 revalidate() 的情况下在 panelPainting 上使用 repaint 时,我根本没有得到任何图片。这也很奇怪。
这是代码,(panelMain 房屋 panelPainting)
//get image from somewhere
JLabel imageLabel = new JLabel();
Icon imageIcon = new ImageIcon(image);
imageLabel.setIcon(imageIcon);
panelPainting.setAlignmentX(JLabel.CENTER);
panelPainting.add(imageLabel); // default center section
//my insanity starts here
panelPainting.revalidate();
panelMain.remove(panelPainting);
panelMain.revalidate();
编辑:我仔细检查了图像每次都会改变。