2015-03-31 62 views
0

我想要做的是将图像设置为标签。我的问题是,当我通过确认按钮更改图像时,什么也没有发生。完全改变JLabel的命令

我使用NetBeansJFrame设计师或什么的,但这里是它做..

默认,我有JLabel设定为正常无变化或任何东西。基本上我做了它,删除了文本,所以它是空的。现在当用户点击一个按钮时,我想要一个图像出现,因为他们选择。基本上我试图改变图像的颜色,他们选择它去。

frontDesign = new JLabel(new ImageIcon(Functions.getShirt("front"))); 

这就是我用来改变它。基本上我重置JLabel,这是没有做任何事情..有没有另一种解决方案,或者我做错了什么?

+0

我试着设置它默认设置的所有变量,在同样的方法中,但它没有做任何事情, – demitchell14 2015-03-31 20:08:20

+0

请勿添加评论。更新你的问题。所有有关这个问题的信息应该在一个地方。 – camickr 2015-03-31 20:11:28

+0

你让一个变量与一个对象混淆。是的,您正在更改并更新frontDesign **变量**,但这对先前提到的JLabel **对象**没有影响,并且在您的GUI中显示。了解变量只是对象的引用,并且它是这里的基础对象,更重要,它的状态需要更新。 – 2015-03-31 20:39:53

回答

4

请勿创建新标签。更改变量的引用不会将标签添加到GUI。新创建的标签只是坐在内存中无所事事。

只需使用:

frontDesign.setIcon(...); 

这将替换掉图标当前显示的帧上的标签。

+0

非常感谢! – demitchell14 2015-03-31 20:18:45