I'm not quite sure what you mean =/ i actually have it working in two different way now and haven't decided which way to keep yet:

small() is different to medium() and large()

Code:
 import javax.swing.*;
import javax.swing.border.*;
import java.awt.*;
import java.util.Random;
import java.awt.Color.*;
import java.awt.Cursor.*;
import javax.swing.border.*;
import java.awt.event.*;

public class GridForGame extends JPanel {
	JTextField myNumberArray[] = new JTextField[16];
	MouseHandling handler = new MouseHandling();

	JLabel statusbar = new JLabel("default");
	JLabel tempLabel = new JLabel();

	JPanel squareContainer = new JPanel();
	Boolean handlerOn = false;

	public GridForGame(){
		setLayout(new BorderLayout());
		setBackground(Color.gray);	
		setBorder(new EtchedBorder(4, Color.blue, Color.blue));
		setPreferredSize(new Dimension(600,600));
	}

	public void small(){

		/*
		 * Below empties the main game view so that
		 * more can be 'painted' on it.
		 */
		squareContainer.removeAll();
		revalidate();

		// Set the grid for 8 x 8
        squareContainer.setLayout(new GridLayout(8,8));
        squareContainer.setPreferredSize(new Dimension(500,500));
        squareContainer.setMaximumSize(new Dimension(500,500));

        /*
		 * Checks if a Mouse handler has already been
		 * assigned to game view, if not, Add one!
		 */
        if(!handlerOn){
        	squareContainer.addMouseListener(handler);
        	handlerOn = true;
   		}

        statusbar.setText("default");
        add(statusbar, BorderLayout.NORTH);

        for(int i=0; i<8; i++){
 
            for(int j=0; j<8; j++){
                JLabel number = new JLabel();

                number.setEnabled(true);
                number.setOpaque(true);
                number.setBorder(new MatteBorder(1, 1, 1, 1, Color.black));

                for(int k=0; k<8; k++){
                    int n = new Random().nextInt(7);
                        switch(n){
                            case 0: number.setBackground(Color.red); break;
                            case 1: number.setBackground(Color.cyan); break;
                            case 2: number.setBackground(Color.blue); break;
                            case 3: number.setBackground(Color.green); break;
                            case 4: number.setBackground(Color.yellow); break;
                            case 5: number.setBackground(Color.magenta); break;
                            default:
                        }   
                    }

                     squareContainer.add(number);
                }
        
                //squareContainer.add(squares);
            }
        add(squareContainer);
        revalidate();
    }
	
	public void medium(){

		/*
		 * Below empties the main game view so that
		 * more can be 'painted' on it.
		 */
		squareContainer.removeAll();
		revalidate();

		// Set the grid for 12 x 12
		squareContainer.setLayout(new GridLayout(12,12));
		squareContainer.setPreferredSize(new Dimension(500,500));
		squareContainer.setMaximumSize(new Dimension(500,500));
		
		/*
		 * Checks if a Mouse handler has already been
		 * assigned to game view, if not, Add one!
		 */
		if(!handlerOn){
        	squareContainer.addMouseListener(handler);
        	handlerOn = true;
   		}

		statusbar.setText("default");
		add(statusbar, BorderLayout.NORTH);

		for(int i=0; i<12; i++){
			JPanel squares = new JPanel();
			squares.setLayout(new GridLayout(1,1));
			for(int j=0; j<12; j++){
				JLabel number = new JLabel();
				number.setEnabled(true);
				number.setOpaque(true);
				number.setBorder(new MatteBorder(1, 1, 1, 1, Color.black));

				squares.add(number);
				for(int k=0; k<12; k++){
					int n = new Random().nextInt(7);
						switch(n){
							case 0: number.setBackground(Color.red); break;
							case 1: number.setBackground(Color.cyan); break;
							case 2: number.setBackground(Color.blue); break;
							case 3: number.setBackground(Color.green); break;
							case 4: number.setBackground(Color.yellow); break;
							case 5: number.setBackground(Color.magenta); break;
							default:
						}	
					}
				}
		
				squareContainer.add(squares);
			}
		add(squareContainer);
		revalidate();
	}

	public void large(){

		/*
		 * Below empties the main game view so that
		 * more can be 'painted' on it.
		 */
		squareContainer.removeAll();
		revalidate();

		// Set the grid for 16 x 16
		squareContainer.setLayout(new GridLayout(16,16));
		squareContainer.setPreferredSize(new Dimension(500,500));
		squareContainer.setMaximumSize(new Dimension(500,500));
		
		/*
		 * Checks if a Mouse handler has already been
		 * assigned to game view, if not, Add one!
		 */
		if(!handlerOn){
        	squareContainer.addMouseListener(handler);
        	handlerOn = true;
   		}

		statusbar.setText("default");
		add(statusbar, BorderLayout.NORTH);

		for(int i=0; i<16; i++){
			JPanel squares = new JPanel();
			squares.setLayout(new GridLayout(1,1));
			for(int j=0; j<16; j++){
				JLabel number = new JLabel();
				number.setEnabled(true);
				number.setOpaque(true);
				number.setBorder(new MatteBorder(1, 1, 1, 1, Color.black));

				squares.add(number);
				for(int k=0; k<16; k++){
					int n = new Random().nextInt(7);
						switch(n){
							case 0: number.setBackground(Color.red); break;
							case 1: number.setBackground(Color.cyan); break;
							case 2: number.setBackground(Color.blue); break;
							case 3: number.setBackground(Color.green); break;
							case 4: number.setBackground(Color.yellow); break;
							case 5: number.setBackground(Color.magenta); break;
							default:
						}	
					}
				}
		
				squareContainer.add(squares);
			}
		add(squareContainer);
		revalidate();
	}

	private class MouseHandling implements MouseListener{
		public void mouseClicked(MouseEvent event){
			statusbar.setText(String.format("Clicked at &#37;d,%d", event.getX(), event.getY()));
			System.out.println(String.format("Component clicked was " + findComponentAt(event.getX(), event.getY()).getBackground()));
		}	

		public void mousePressed(MouseEvent event){
			statusbar.setText("anything");
		}

		public void mouseReleased(MouseEvent event){
			statusbar.setText(String.format("Released at %d,%d", event.getX(), event.getY()));
		}

		public void mouseEntered(MouseEvent event){
			statusbar.setText("Entered");
		}

		public void mouseExited(MouseEvent event){
			statusbar.setText("Exited");
		}
	}

}
regardless, it seems to be working i think, I will be sure to do some further tests etc... tomorrow, but if you think I'm still doing something totally wrong, please point it out, will help the learning process.

Thanks again dude, you've been a MASSIVE help