I'm trying to make a mine sweeper game with Swing library (just for training). I spotted a problem when I tried to change size of a button with setSize() method (part of Container class). One of my previous program was able to handle that (with ActionListener)
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class ButtonChanger extends JFrame {
JButton big, small, dis;
JLabel message, poof;
public ButtonChanger(){
    setLayout(new GridBagLayout());
    GridBagConstraints c = new GridBagConstraints();
    message = new JLabel("Click to make it");
    c.fill = GridBagConstraints.HORIZONTAL;
    c.gridx = 0;
    c.gridy = 0;
    add(message, c);
    big =  new JButton("BIG");
    big.setSize(30, 30); // no reaction for this call 
    c.fill = GridBagConstraints.HORIZONTAL;
    c.gridx = 0;
    c.gridy = 1;
    c.gridwidth = 1;
    add(big, c);
    small = new JButton("small");
    c.fill = GridBagConstraints.HORIZONTAL;
    c.gridx = 1;
    c.gridy = 1;
    add(small, c);
    dis = new JButton("disapear");
    c.fill = GridBagConstraints.HORIZONTAL;
    c.gridx = 3;
    c.gridy = 1;
    add(dis, c);
    poof = new JLabel("  poof!");
    c.fill = GridBagConstraints.HORIZONTAL;
    c.gridx = 3;
    c.gridy = 1;
    poof.setVisible(false);
    add(poof, c);
    big.setSize(300,300); // same story
    event a = new event();
    big.addActionListener(a);
    small.addActionListener(a);
    dis.addActionListener(a);
}
public class event implements ActionListener{
    public void actionPerformed(ActionEvent a){
        String op = a.getActionCommand();
        if(op.equals("BIG")){
            big.setSize(50,50); // finaly!
        } else if(op.equals("small")){
            small.setSize(10,10);
        } else if(op.equals("disapear")){
            dis.setVisible(false);
            poof.setVisible(true);
        } 
    }
}
public static void main(String args[]){
    ButtonChanger gui = new ButtonChanger();
    gui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    gui.setVisible(true);
    gui.setSize(250,250);
    gui.setTitle("");
}
}
But when I tried to use same solution here - nothing happened.
import java.util.Random;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Board extends JPanel
               implements ActionListener{
private Integer pixelWidth;
private Integer pixelHeight;
public Field[][] board;
private Random generator = new Random();
public Board(int width,int height){ // width - x axis scaled with "button" unit
    // height -  y axis scaled with "button" unit
    setLayout(new GridBagLayout());
    GridBagConstraints c = new GridBagConstraints();
    board = new Field[width][height];
    pixelWidth = width * Field.fieldW;
    pixelHeight = height * Field.fieldH;
    for(int i = 0;i < height;i++)
        for(int j = 0;j < width;j++){
            board[i][j] = new Field(generator.nextBoolean());
        }
    for(int i = 0;i < height;i++){
        c.fill = GridBagConstraints.HORIZONTAL;
        c.gridy = i;
        for(int j = 0;j < width;j++){
            c.gridx = j;
            add(board[i][j].getFieldButton(),c);
            add(board[i][j].getFieldLabel(),c);
        }
    }
/*  for(int i = 0;i < height;i++)
        for(int j = 0;j < width;j++){
            board[i][j].setField();
        }*/
}
public void actionPerformed(ActionEvent e){
    String co = e.getActionCommand();
    if(co.equals(" ")){ // button is single space sign  
        for(int i = 0;i < 10;i++)
            for(int j = 0;j < 10;j++){
                board[i][j].setField(); //inside this method is call for setSize() for fieldButton
                }
    }
}
}
Previously I changed Board class to make it inhetitate after JFrame (set up as main GUI frame in whole code) but that gave me same output as original.
Did I mess up something?
 
     
    