This sticks out as strange:

button[row][col] = new JButton(c0);
button[row][col].addActionListener(new buttonListener());
panel.add(button[col][row]);

Are you working with [row, col] or [col,...