GridLayout stała szerokość kolumny

0

Witam, mam pytanie, piszę zadanie: przy użyciu GridLayout 2 kolumny 2 wiersze,

pierwsza kolumna: Druga kolumna:
Przycisk powiększający Tekst który się powiększa/pomniejsza
Przycisk zmniejszający Aktualny rozmiar tekstu

I teraz wszystko gra, ale:
Jak klikam kilka razy na powiększanie tekstu i w końcu tekst jest za duży i zaczyna wychodzić poza ramkę,
to rozciąga i okno i Buttony, jak zabezpieczyć całą pierwszą kolumnę z Buttonami przed rozciąganiem?

Kawałek kodu:

//new Layout:
GridLayout layout = new GridLayout(2,2,10,10);					
setLayout(layout);	
		
add(b1);
add(tekst);
add(b2);
add(rozmiar);
0

Zmień menadżera rozkładu. W GridLayout wszystkie komórki maja taki sam rozmiar.
Np.

setLayout(new FlowLayout());
buttonsPanel = new JPanel(new GridLayout(2,1,10,10));
buttonsPanel.add(b1);
buttonsPanel.add(b2);
add(buttonsPanel);
...
0

No właśnie nie mogę. Musi to być GridLayout. Bo takie jest polecenie. Czyli nie da się tego zrobić w GridLayout tak?

0

Zablokuj zmiany rozmiaru okna (setResizable(false)).

0

Zablokowalem już wcześniej ale to się tyczy zmiany kiedy chce ręcznie rozciągnąć okno. Przy powiększeniu czcionki buttonami jest ignorowane i okno się i tak powiększa ale to dobrze. Nie dobre jest tylko rozciąganie buttonów.

0

Przy GridLayout jesteś bezradny. Możesz dodać ComponentListenera, który podczas zwiększania rozmiaru przycisków będzie zwiększał czcionkę na przyciskach.

0

Ok mimo wszystko dzięki za pomoc:)

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