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

时间:2018-01-23 18:20:16

标签: java image swing jlabel setbounds

我有JPanel,其中我有JLabel,其中包含Image,如下所示:

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

之后,我设置bounds的{​​{1}},如下所示:

imageLabel

然后我将//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作品)来更改KeyEvent。我认为,它更改了KeyEvent(使用Image),但它在屏幕上没有变化。
我怎么能做到这一点?我已尝试将image = any other Imagerevalidate()添加到JPanel。

1 个答案:

答案 0 :(得分:0)

  

我认为,它会改变图像(通过使用image =任何其他图像),

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

您需要重置标签的图标:

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