Menedżer wyglądu jest, można powiedzieć, czymś niezbędnym przy tworzeniu aplikacji desktopowych w Javie. Można powiedzieć dlatego, że nie jest niezbędny. Można oczywiście nie korzystać z niego, ale wtedy jesteśmy zmuszeni do "pozycjonowania absolutnego" swoich elementów, czyli ustawiania ich na sztywno. Ogranicza to możliwości rozwoju aplikacji jak i powoduje problemu przy uruchamianiu jej w różnych rozdzielczościach, czy zmienianiu jej wielkości.
Java oferuje kilka menedżerów wyglądu. NetBeans'owy gui builder Matisse korzysta z GroupLayout, ale nawet tutorial swinga sugeruje, aby nie używać go do ręcznego pisania interfejsu. Może i dobrze, bo ciężko się w nim odnaleźć. Komponenty JPanel używają domyślnie FlowLayout i jest to dobry wybór jeśli mamy do zrobienia tylko kilka komponentów. GridLayout jeśli mamy kilka komponetów o tych samych rozmiarach w wierszach i kolumnach. Jeżeli chcemy te komponenty rozmieścić w różnych miejscach, aby miały różne wielkości dobrym wyborem będzie BoxLayout. Jeżelu wymagamy, aby nasz komponent otrzymał tyle miejsca ile tylko może należy wybrać BorderLayout. Do tworzenia złożonych formularzy najlepszy będzie SpringLayout, a do złożonego wyglądu nada się GridBagLayout, który jest dość trudny, ale posiada za to bardzo duże możliwości.
17 wrzesień 2007
Jaki Layout Manager wybrać?
Kategorie: Swing
Subskrybuj:
Komentarze do posta (Atom)








2 komentarze:
Właśnie szukałem jaki layout manager będzie odpowiedni dla formularzy, Dzięki za pomoc :) Aczkolwiek nadal się zastanawiam Spring czy GridBag
Uniwersalne do opanowania przez człowieka to tylko GridBag i Border. Ja zazwyczaj używam BorderLayout, jest bardzo prosty w zrozumieniu, i do zwyczajnych aplikacji okienkowych idealnie pasuje.
Grid, Box i Flow są dosyć specyficzne, i wybiera się je tylko wtedy, kiedy akurat pasują. Jak sam pisałeś rozmiary- prostota itd.
A Spring i Group jeszcze nie korzystałem, ale jak sam zauważyłeś, Group nadaje sie najlepiej do automatycznego generowania kodu (tzn rysowanie za pomocą np. Matisse). A Spring...
Fajnie by było, gdyby twój post cokolwiek tłumaczył lub pokazywał. Taki opis to tylko wylistowanie możliwości i o wiele lepszy znajdziemy na pierwszej stronie odwiedzanej przez programistę -> Java API.
Prześlij komentarz