JButtons à l'intérieur de JPanels avec un GridLayout JFrame

Java/Eclipse IDE ici.

J'ai une JFrame qui est fixé à un GridLayout de taille NxN. N est donné par l'utilisateur comme une ligne de commande au lancement du programme. JButtons dans un NxN modèle sont ajoutés à la fenêtre dans JPanels, installé dans l'emplacement par GridLayout (je pense).

Chaque JButton besoin de son propre Composite à utiliser GridLayout? Je suis sous l'impression que vous pouvez configurer qu'un Composite pour tous les boutons et définir le Composite à un GridLayout pour la JButtons. Je veux ajouter un autre Composite à gauche du tableau de bouton pour afficher les clics de bouton (JLabel) et un bouton de réinitialisation à l'intérieur de cette même gauche Composite.

Ici est (un peu) mon code, où N est donné par l'utilisateur, le système est mon processus d'arrière-plan de la classe, et ButtonEvent est la classe pour 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);

Et c'est ce que j'ai (N=4):

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

Ici est (à peu près) ce que je suis à la recherche d' (N=4):

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

À tous j'ai besoin/envie est de deux (ou plus) JPanels qui sont mis en place à peu près comme ci-dessus, et tous les gestionnaires de disposition, j'ai essayé de ne pas jouer gentil avec le GridLayout disposition JFrame.

Des recommandations pour une meilleure solution sont invités.

Merci!

OriginalL'auteur Avertheus | 2012-04-29