Please help, I don't know why this java matching game code is not working. image provided below shows what image program show import javax.swing.*; import java.awt.event.*; import java.awt.*; public class Halloween { // 2D array to store the Halloween-themed images final int[][] hallow = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}, {10, 11, 12}}; final int rows = 4; int cols = 3; JButton pics[] = new JButton[rows * cols]; public static void main(String[] args) { // Create a JFrame with a grid layout JFrame frame = new JFrame("Halloween"); frame.setLayout(new GridLayout(rows, cols)); // Add buttons to the JFrame int m = 0; for (int i = 0; i < rows; i++) { for (int j = 0; j < cols; j++) { pics[m] = new JButton(createImageIcon("back.png")); pics[m].addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { // Get the index of the button that was clicked int n = Integer.parseInt(e.getActionCommand()); int x = n % rows; int y = n / rows; // Set the image of the button to the corresponding Halloween image pics[n].setIcon(createImageIcon("hal" + hallow[x][y] + ".png")); } }); pics[m].setActionCommand(m + ""); pics[m].setPreferredSize(new Dimension(128, 128)); frame.add(pics[m]); m++; } } // Set the size of the frame and make it visible frame.setSize(600, 400); frame.setVisible(true); } // Method to create an ImageIcon from a file protected static ImageIcon createImageIcon(String path) { java.net.URL imgURL = Halloween.class.getResource(path); if (imgURL != null) { return new ImageIcon(imgURL); } else { System.err.println("Couldn't find file: " + path); return null; } } }
Please help, I don't know why this java matching game code is not working. image provided below shows what image program show
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class Halloween {
// 2D array to store the Halloween-themed images
final int[][] hallow = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}, {10, 11, 12}};
final int rows = 4;
int cols = 3;
JButton pics[] = new JButton[rows * cols];
public static void main(String[] args) {
// Create a JFrame with a grid layout
JFrame frame = new JFrame("Halloween");
frame.setLayout(new GridLayout(rows, cols));
// Add buttons to the JFrame
int m = 0;
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
pics[m] = new JButton(createImageIcon("back.png"));
pics[m].addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// Get the index of the button that was clicked
int n = Integer.parseInt(e.getActionCommand());
int x = n % rows;
int y = n / rows;
// Set the image of the button to the corresponding Halloween image
pics[n].setIcon(createImageIcon("hal" + hallow[x][y] + ".png"));
}
});
pics[m].setActionCommand(m + "");
pics[m].setPreferredSize(new Dimension(128, 128));
frame.add(pics[m]);
m++;
}
}
// Set the size of the frame and make it visible
frame.setSize(600, 400);
frame.setVisible(true);
}
// Method to create an ImageIcon from a file
protected static ImageIcon createImageIcon(String path) {
java.net.URL imgURL = Halloween.class.getResource(path);
if (imgURL != null) {
return new ImageIcon(imgURL);
} else {
System.err.println("Couldn't find file: " + path);
return null;
}
}
}


Step by step
Solved in 3 steps with 1 images









