サイズ NxN の GridLayout に設定された JFrame が 1 つあります。N は、プログラムの開始時にコマンド ラインとしてユーザーによって指定されます。NxN パターンの JButtons が JPanels のウィンドウに追加され、GridLayout によって場所が設定されます (私はそう思います)。
GridLayoutを使用するには、各JButtonに独自のJPanelが必要ですか? すべてのボタンに対して 1 つの JPanel を設定し、その JPanel を JButton の GridLayout に設定できるという印象を受けました。ボタン配列の左側に別の JPanel を追加して、ボタンのクリック (JLabel) と、同じ左側の JPanel 内にリセット ボタンを表示したいと考えています。
N はユーザーによって指定され、system はバックグラウンド プロセス クラス、ButtonEvent は 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);
そして、これは私が持っているものです(N = 4):
これが(およそ)私が探しているものです(N = 4):
私が必要/必要としているのは、上記のように大まかに設定された 2 つ (またはそれ以上) の JPanel だけであり、私が試したすべてのレイアウト マネージャーは GridLayout レイアウト JFrame でうまく機能しません。