Ваш код выше нуждается в рефакторинге. Например, у вас есть массив JButtons, а не похожий массив ImageIcons, тогда вы можете избавиться от всех этих блоков if.
Например:
ActionListener one = new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (gr1.getCounter1() < 5) {
gr1.setCounter1(gr1.getCounter1() + 1);
for (int i = 0; i < arraybtn.length; i++) {
if (arraybtn[i] == e.getSource()) {
test1.setIcon(play1Icons[i]);
}
}
} else {
pn5.setText("No more cards");
}
}
};
И не забывайте мои рекомендации в другой ветке о дальнейшем рефакторинге, включая создание класса Player, класса Card, класса Deck, GameManager и т. Д.
Относительно вашего вопроса: «в этом скрипте у меня есть play1a = hand.get (1) .getImage (); если я делаю с другим массивом, таким как test1.setIcon (play1Icons [i]); ? "
Является ли рука ArrayList? Один из способов решить эту проблему - сделать что-то вроде
test1.setIcon(hand.get(i).getImage());
или какой-то другой вариант.