Witam wszystkich Mam ramkę JFrame, która zawiera trzy komponenty.Java Swing: Jak zmienić rozmiar jednego wiersza w układzie Grid i umożliwić dynamiczną zmianę rozmiaru tylko w poziomie, a nie w pionie?
- menu
- zakładkami okienko
- panelu, który ma kilka przycisków
Początkowo moim celem było stworzenie konstrukcji jak następuje:
gdy użytkownik zmieni rozmiar wniosku, wszystko również zostanie zmienione. Więc pomyślałem, że może jeśli kiedyś prosty układ siatki mój problem zostanie rozwiązany, więc postanowiłem wykonać następujące czynności:
zakładkami okienko będzie miał jakieś panele wewnątrz i te panele pójdą układ siatki.
Panel u dołu będzie podążał za układem siatki.
JFrame będzie również podążał za układem siatki.
Wyniki:
Jak widać nie jest to, co chciałem, przyciski są zbyt duże i choć aplikacja zmienia rozmiar bardzo dobrze:
Przyciski zmieniają rozmiar również, ale pozostają zbyt duże. Chciałbym móc ustawić mały rozmiar dla przycisków (dokładniej dla panelu, w którym się znajdują) i kiedy użytkownik zmieni rozmiar aplikacji, przyciski zmieniają rozmiar tylko poziomo nigdy pionowo, co oznacza, że TYLKO okienko z zakładkami będzie się powiększać pionowo. Czy jest to możliwe? Szukałem i dowiedziałem się o gridbaglayout, zacząłem grać trochę, ale nic nie osiągnąłem. Wszystko udało mi się zrobić to:
wydaje się dobre, ale gdy rozmiar jest to, co mam:
z góry dzięki.
+1 Myślę, że to będzie działać zbyt. Następnie "setPreferredSize" dla dolnego panelu. To spowoduje, że jego wysokość będzie stała. Nie ustawiaj rozmiaru środkowego panelu. W ten sposób wszystko inne zachowuje rozmiar, a tylko centrum rozszerza się po rozwinięciu okna. Ponadto dolny panel powinien używać 'FlowLayout'. – davidXYZ
@davidXYZ Nie ma potrzeby ustawiania preferowanego rozmiaru na dolnym panelu. ustawienie preferowanego rozmiaru jest wyjątkiem! –
@davidXYZ Być może chciałbyś przeczytać [to] (http://stackoverflow.com/questions/7229226/może-i-pozyska-u -zapewnićmaksymalnąminimalnąsize-metody-w-java-swi) przed zaczynasz mieszać z rozmiarami pref/max/min – MadProgrammer