Java swing - rozmieszczenie elementów

Java swing - rozmieszczenie elementów
  • Rejestracja: dni
  • Ostatnio: dni
0

Pracuje w IntelliJ. Chciałbym korzystając z biblioteki swing rozmieścić elementy w oknie.
Jak sensownie korzystając z layout managerów rozmieścić elementy by uzyskać efekt mniej więcej jak w załączniku?
Chciałbym w górnej części mieć wiersz z JLabelem i JTextFieldem . Dodatkowo w następnym wierszu mieć przycisk ( FlowManager ustawi przycisk za JTextFieldem bo przy moim rozmiarze okna nie zapełni jeszcze pierwszego wiersza.
Potem pola z obrazkami przeskalowane do ustalonego rozmiaru prostokącika.
Pod odpowiadającymi obrazkami mieć JCheckBox.

Jak takie rzeczy się ustawia? Rozmieszcza różne JPanele z różnymi layout managerami?
W jaki sposób użyć GUI Form ( tool od IntelliJ ) by uzyskać podobny efekt? Defaultowe ustawienia i drag and drop nie spełnia wymogów. Można jakoś ograniczać obszar przycisku ( robić pomocnicze linie - granice ) od których potem można układać sąsiednie elementy?

Jakieś wskazówki? Tutoriale Javy Swinga i GUI form przeczytane, ale to chyba trzeba trochę pokombinować z panelami i zarządcami rozkładów w tych panelach by to dało się ułożyć.

PW
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 159
0

Czemu Swing?
Zobacz JaveFX + SceneBuilder.

  • Rejestracja: dni
  • Ostatnio: dni
0
pwntmaciek napisał(a):

Czemu Swing?
Zobacz JaveFX + SceneBuilder.

W ramach nauki. Do swoich projektów wybiorę JavaFX.

Black007
  • Rejestracja: dni
  • Ostatnio: dni
0

Kiedyś pracowałem jako GUI developer w Swingu (o kurde 10 lat temu). Nie używaliśmy żadnych wizualnych edytorów, wszystko się pisało z ręki - to daje więcej kontroli.
Podziel to sobie na części, jak dla mnie te komponenty u góry mogłyby być na jednym panelu.
Do całości użyłbym border Layoutu.

Panel z tymi przyciskami byłby w BorderLayout.NORTH
Potem każdy tych komponentów po środku - checkboxy z obrazkami - dla nich zrobił bym komponent np. ImageBox, dziedziczący po Jpanelu.
Dodałbym to do panelu z FlowLayout - żeby wyświetlały się jeden obok drugiego.
A ten panel do BorderLayout.Center.

I gotowe.

MrMadMatt
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 373
0

Najlepiej jakbyś użył do tego GridBangLayout. Dzięki niemu masz możliwość stworzenia siatki i bardzo elastycznego osadzania elementów wewnątrz tego układu kratek.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.