JButtons in JPanels mit einem GridLayout JFrame

Java / Eclipse IDE hier.

Ich habe einen JFrame, der auf ein GridLayout der Größe NxN eingestellt ist. N wird vom Benutzer als Befehlszeile beim Start des Programms angegeben. JButtons in einem NxN-Muster werden dem Fenster in JPanels hinzugefügt, das von GridLayout (glaube ich) als Position festgelegt wurde.

Benötigt jeder JButton ein eigenes JPanel, um GridLayout verwenden zu können? Ich habe den Eindruck, dass Sie nur ein JPanel für alle Schaltflächen einrichten und das JPanel auf ein GridLayout für die JButtons setzen können. Ich möchte ein weiteres JPanel links vom Schaltflächenarray hinzufügen, um Tastenklicks (JLabel) und eine Reset-Schaltfläche in demselben linken JPanel anzuzeigen.

Hier ist (ein kleiner Teil) meines Codes, wobei N vom Benutzer angegeben wird, system meine Hintergrundprozessklasse ist und ButtonEvent die Klasse für ActionListener / actionPerformed ist:

<code>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);
</code>

Und das habe ich (N = 4):

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

Hier ist (ungefähr) was ich suche (N = 4):

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

Alles, was ich brauche / will, sind zwei (oder mehr) JPanels, die ungefähr wie oben eingerichtet sind, und alle Layout-Manager, die ich versucht habe, spielen mit dem GridLayout-Layout-JFrame nicht gut.

Vorschläge für eine bessere Lösung sind erwünscht.

Vielen Dank!

Antworten auf die Frage(3)

Ihre Antwort auf die Frage