更改后如何重新绘制图像?

How to repaint Image after changing?

我有一个 JPanel,其中我有一个 JLabel,其中包含一个 Image,像这样:

JLabel imageLabel = new JLabel(new ImageIcon(image));

之后,我设置了imageLabelbounds,像这样:

//I want the Image to be in the middle of the screen!
imageLabel.setBounds((int) (screenSize.getWidth() / 2 - image.getWidth(null) / 2),
        (int) (screenSize.getHeight() / 2 - image.getHeight(null) / 2),
        image.getWidth(null), image.getHeight(null));

然后我将 imageLabel 添加到 JPanel

add(imageLabel);

现在我想更改 Image,方法是使用 KeyEventKeyEvent 有效)。我想,它改变了 Image(通过使用 image = any other Image),但它在屏幕上没有改变。
我怎样才能做到这一点?我尝试将 revalidate()repaint(); 添加到 JPanel。

I think, it changes the Image(by using image = any other Image),

那没有任何作用。您所做的只是更新变量以指向不同的图像。您实际上并没有将图像添加到标签中。

您需要重新设置标签的图标:

label.setIcon( new ImageIcon(...) );