JButtons w JPanels z GridLayout JFrame

Java / Eclipse IDE tutaj.

Mam jedną ramkę JFrame ustawioną na GridLayout o rozmiarze NxN. N jest nadawany przez użytkownika jako wiersz poleceń na początku programu. JButtons we wzorze NxN są dodawane do okna w JPanels, ustawionego w lokalizacji przez GridLayout (chyba).

Czy każdy JButton potrzebuje własnego JPanela do korzystania z GridLayout? Mam wrażenie, że można ustawić tylko jeden JPanel dla wszystkich przycisków i ustawić JPanel na GridLayout dla JButtons. Chcę dodać kolejny JPanel po lewej stronie tablicy przycisków, aby wyświetlić kliknięcia przycisków (JLabel) i przycisk resetowania w tym samym lewym JPanel.

Oto (trochę) mój kod, gdzie N jest podany przez użytkownika, system to moja klasa procesów w tle, a ButtonEvent to klasa ActionListener / actionPerformed:

JFrame window = new JFrame("");
GridLayout layout = new GridLayout(N,N);
window.setLayout(layout);

for (int row = 0; row < N; row++){
    for (int col = 0; col < N; col++){
        JPanel panel = new JPanel();
        JButton b = new JButton ("("+row+","+col+")");
        window.add(b).setLocation(row, col);
        panel.add(b);
        b.addActionListener(new ButtonEvent(b, system, row, col));
        window.add(panel);
    }
}

window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.pack();
window.setVisible(true);

I to właśnie mam (N = 4):

http://i.imgur.com/nbQoM.png

Oto (w przybliżeniu) to, czego szukam (N = 4):

http://i.imgur.com/SiVWO.png

Wszystko czego potrzebuję / chcę to dwa (lub więcej) JPanels, które są skonfigurowane mniej więcej tak jak powyżej, a wszyscy menedżerowie layoutów, których próbowałem, nie grają dobrze z układem GridLayout JFrame.

Zaprasza się wszelkie zalecenia dotyczące lepszego rozwiązania.

Dzięki!