Java/Eclipse IDE здесь.
У меня есть один JFrame, который установлен в GridLayout размера NxN. N задается пользователем в командной строке в начале программы. JButtons в шаблоне NxN добавляются в окно в JPanels, устанавливаются в местоположении с помощью GridLayout (я думаю).
Каждому JButton нужен собственный JPanel для использования GridLayout? У меня создается впечатление, что вы можете настроить только один JPanel для всех кнопок и установить JPanel в GridLayout для JButtons. Я хочу добавить еще один JPanel слева от массива кнопок, чтобы отображать нажатия кнопок (JLabel) и кнопку reset внутри той же левой JPanel.
Вот (немного) моего кода, где N задан пользователем, система - это мой класс фоновых процессов, а 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):
Все, что мне нужно/нужно, это две (или более) JPanels, которые настроены примерно так же, как и выше, и все планировщики макетов, которые я пробовал, не очень хорошо сочетаются с макетом GridLayout JFrame.
Приглашаются любые рекомендации относительно лучшего решения.
Спасибо!