2015-03-31 43 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