2009-03-09 28 views
0

Eşleşmeleri bulmam gereken kartlı bir kartım var. Tıklanan karelerin kaydını tutmak için buttonA ve buttonB iki değişkenim var.Java Swing Sorunu

onlar sadece bu kodu ekleyerek tahta çıkarıp edebilirsiniz eşit olduğunda:

cards[buttonA].setVisible(false); 
cards[buttonB].setVisible(false); 
Ben eşleşmeleri bulduktan sonra bütün düğmeleri aynı görüntüyü yerleştirebilirsiniz nasıl

? Ben ancak bunun yerine görüntü değiştirme basitçe düğmeleri Muhtemelen kullanmak gerekir

cards[buttonA].setIcon(new ImageIcon("myPic.png"); 

cevap

2

Aynı görüntüyü bırakır aşağıdaki çalıştı: Bu kaynak classpath üzerindedir

new ImageIcon(getClass().getResource("/path/to/myPic.png")); 

. (Eğer PNG kaynakları çıkış dizinine kopyalanır olsun emin olmak gerekir bir IDE kullanarak eğer hatırla örneğin IDEA, bu derleyici ayarlar menüsünde elde edilir.)

düzenleme: ben olmadığını hatırlayamıyorum Yol, / ile başlar veya başlamaz.

+0

Sınıf yolunda mutlak olmasını istiyorsanız bir slash ile başlar ve sınıfa göre isterseniz bir eğik çizgi ile başlamaz. –

+0

Denedim, ama çalışmadım ... Görüntüyü biraz değiştirdiğini fark ettim ... ama değişmedi. –

+0

Ardından yaygın bir sorun şudur: (IDE kullanıyorsanız) png dosyası çıktılarınıza (veya sınıflara veya bölüme) kopyalanmıyordur. yani sadece kaynak dizinindedir. Bu bir IDE oluşturma ayarı olabilir - IDEA'da "derleyici" altındadır AYARLAR –

0

Düğmeler arasında paylaşmak istiyorsanız, ImageIcon'a bir başvuru yapabilirsiniz (her zaman yüklemek yerine). Bana göre kodunuz çalışmalı. Belki mevcut simgeyi (setIcon (null) kullanarak) kaldırabilir ve sonra ayarlayabilirsiniz.

+0

Önce diğer simgeyi kaldırmanız gerekmez. Tony'nin PNG dosyası sınıf yolunda pek açık değil. –