import javax.swing.*; //import java.beans.*; //Property change stuff import java.awt.*; import java.awt.event.*; import java.util.regex.*; import java.beans.*; //import java.awt.event.MouseListener; //import java.awt.event.MouseEvent; public class Test3 extends JPanel { String elements; static String gridString = "grid"; static int i; static JButton []button=new JButton[80]; static int[]array = new int[80]; public Test3() { super(new BorderLayout()); JPanel gridPic = new JPanel(new GridLayout(10,8)); final ImageIcon ButtonIcon = createImageIcon("images/grid.jpg"); final ImageIcon ButtonIconHmn = createImageIcon("images/Black.jpg"); final ImageIcon ButtonIconComp = createImageIcon("images/Red.jpg"); for (int x =0; x>=80; x++){ if (array[x] == 1){ button[x].setIcon(ButtonIconComp); } } for( i=0;i<80;i++){ button[i] = new JButton(); //<--http://forums.devx.com/showthread.php?t=152151 //button[i].setText(Integer.toString(i+1)); button[i].setIcon(ButtonIcon); button[i].addActionListener(new ActionListener() { Master master = new Master(); public void actionPerformed(ActionEvent e) { int ret=0; for (int a = 0;a <80;a++){ if(e.getSource() == button[a]){ button[a-8].setEnabled(true); button[a].setEnabled(false); button[a].setDisabledIcon(ButtonIconHmn); ret = a % 8; if (ret == 0){ System.out.println("ret ="+(ret+1)); master.receive(ret+1); } } } } } ); button[i].setEnabled(false); button[i].setDisabledIcon(ButtonIcon); gridPic.add(button[i]); //button[i].addActionListener(this); } for (int e=72;e<80;e++){ button[e].setEnabled(true); } setPreferredSize(new Dimension(550, 650)); add(gridPic); setBorder(BorderFactory.createEmptyBorder(0,0,0,0)); } /** Returns an ImageIcon, or null if the path was invalid. */ protected static ImageIcon createImageIcon(String path) { java.net.URL imgURL = Test3.class.getResource(path); if (imgURL != null) { return new ImageIcon(imgURL); } else { System.err.println("Couldn't find file: " + path); return null; } } public static void importArray(int col, int who) { array[col] = who; for (int xArr = 0; xArr < 80;xArr++){ if ((array [xArr] == 1)|| (array [xArr]==5)){ System.out.println(xArr+" = "+array[xArr]+ " | "); } } createAndShowGUI(); } public static void createAndShowGUI() { //Create and set up the window. JFrame frame = new JFrame("Testing3"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JComponent newContentPane = new Test3(); newContentPane.setOpaque(true); //content panes must be opaque frame.setContentPane(newContentPane); //Display the window. frame.pack(); frame.setVisible(true); } public static void main(String[] args) { //Schedule a job for the event-dispatching thread: //creating and showing this application's GUI. javax.swing.SwingUtilities.invokeLater(new Runnable() { public void run() { createAndShowGUI(); } } ); } }