Java Swing Проблема - PullRequest
       6

Java Swing Проблема

0 голосов
/ 10 марта 2009

У меня есть доска с картами, в которой я должен найти совпадения. У меня есть две переменные buttonA и buttonB, чтобы отслеживать клики.

Когда они равны, я могу удалить их с доски, просто добавив этот код:

cards[buttonA].setVisible(false);
cards[buttonB].setVisible(false);

Как я могу разместить одно и то же изображение на всех кнопках после поиска совпадений? Я попробовал следующее, но вместо изменения изображения просто оставляет то же изображение на кнопках

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

Ответы [ 2 ]

2 голосов
/ 10 марта 2009

Вам, вероятно, нужно использовать:

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

Где этот ресурс находится на classpath. (Помните, что при использовании IDE необходимо убедиться, что ваши ресурсы PNG скопированы в выходной каталог. Например, в IDEA это достигается в меню настроек компилятора)

edit: Я никогда не могу вспомнить, начинается ли путь с / или нет.

0 голосов
/ 10 марта 2009

У вас может быть ссылка на ImageIcon, если вы хотите поделиться им между кнопками (вместо того, чтобы загружать его каждый раз). Для меня ваш код должен работать. Возможно, вы можете удалить текущий значок (используя setIcon (null)), а затем установить его.

...