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:
<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>
I to właśnie mam (N = 4):
Oto (w przybliżeniu) to, czego szukam (N = 4):
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!