Я пытаюсь сделать игру для сопоставления карт памяти известной как Концентрация. Пока у меня есть 3 класса.
Память расширяет JFrame реализует ActionListener
Плата расширяет JPanel, реализует ActionListener
Ячейка расширяет JButton
До сих пор я получил окно для всплывающего окна. Используйте список, чтобы добавить пары типов клеток. Распределите все ячейки случайным образом по моей доске. Показать заднюю часть (изображение) всех ячеек (24 ячейки, 4 ряда и 6 столбцов). Теперь, когда я нажимаю на мою карту, я получаю белое изображение. На данный момент, в качестве краткосрочной цели, все, чего я пытаюсь достичь, это то, что когда я нажимаю на кнопку, на кнопке появляется соответствующее изображение.
Я реализовал ActionPerformed таким образом, в классе Board.
public void actionPerformed(ActionEvent e){
if(e.getSource() instanceof Cell){
Cell temp = (Cell)e.getSource();
temp.setSelected(true);
if (temp.selected()){
int row = temp.getRow();
int column = temp.getColumn();
board[row][column].setIcon2();
}
}}
Мой набор выбранных методов служит только для изменения значения логической переменной в классе Cell на true.
Это мой метод setIcon2 в классе Cell.
public void setIcon2(){
ImageIcon x = new ImageIcon();
x = getImageIcon();
setIcon(x);
}
Вот метод getImageIcon в классе Cell.
private ImageIcon getImageIcon() {
int temp=0;
int id;
if (localSelected) {
id = getType();
String tempId = Integer.toString(id);
icons[temp] = new ImageIcon("img-" + tempId + ".jpg");
temp++;
return icons[temp];
} else {
id = IMAGE_NUMBER;
String strId = Integer.toString(id);
icons[id] = new ImageIcon("img-" + strId + ".jpg");
}
return icons[id];
}
Нет ошибок компиляции или каких-либо предупреждений. Метод getType возвращает целочисленную переменную, связанную со значением, хранящимся на моей игровой доске. (2D массив типа Cell).
Попытка объяснить мое затруднительное положение настолько ясно, насколько это возможно, любое направление будет высоко оценено и оценено.
Спасибо
Mjall2