Skalowanie JLabel w GridLayout

0

Witajcie.
Chciałbym zapytać, czy jest jakiś sposób, żeby JLabel-e wstawione do GridLayout mogły rozszerzać się zachowując skalę?
Bo mam taki problem, że mam utworzyć siatkę, która ma się skalować w zależności od rozmiaru okienka. Dlatego moje rozwiązanie polega w tej chwili na tym, że mam tablicę JLabel, w którą dodaję do JPanel z ustawionym GridLayout.

Problem tylko w tym, że kolejne oczka siatki powinny cały czas mieć kształt kwadratowy, a niestety rozszerzając okienko tylko w jednym kierunku JLabele stają się prostokątami.

Obecny kod, jeśli komuś jest potrzebny :).

for(int i = 0; i < grid.length; i++)
            for(int j = 0; j<grid[i].length; j++)
            {
                grid[i][j] = new JLabel();
                grid[i][j].setBorder(border);
                panel.add(grid[i][j]);
            }
0

a jakim cudem chcesz żeby były kwadratowe jeżeli okno nie pasuje wymiaram?
Mają się pojawiać przerwy między nimi czy co?

Proponuję dorwać się do componentListenera i sprawdzać wymiar i zmieniać go tak żeby odpowiadał stosunek wysokości do szerokości tak żeby w siatce były utrzymane kwadraty

1 użytkowników online, w tym zalogowanych: 0, gości: 1