Próbuję utworzyć okno GUI w mojej aplikacji. Co próbuję zrobić, to mieć okno z kilkoma przyciskami na górze i dużym polem tekstowym. Coś takiego:Mieszane wyrównanie z Java Swing's GroupLayout
+--------------------------------------------------+
| [button1] [button2] [button3] |
| +----------------------------------------------+ |
| | text area | |
| | | |
| | | |
| | | |
| +----------------------------------------------+ |
+--------------------------------------------------+
jestem prawie tam, korzystając GroupLayout:
layout.setHorizontalGroup(
layout.createParallelGroup()
.addGroup(layout.createSequentialGroup()
.addComponent(button1)
.addComponent(button2))
.addComponent(closeWindow))
.addComponent(textarea1)
);
layout.setVerticalGroup(
layout.createSequentialGroup()
.addGroup(layout.createParallelGroup()
.addComponent(button1)
.addComponent(button2)
.addComponent(button3))
.addComponent(textarea)
);
Problemem jest to, że kończy się z przycisku Button3 wyrównany do lewej, z dwóch pozostałych. Nie mogę się domyślić, w jaki sposób mogę określić wyrównanie tylko na jednym przycisku. Mogę wykonać GroupLayout.Alignment.TRAILING na całym pasku przycisków, ale to trafi do wszystkich 3 przycisków, co również nie jest poprawne.
Jakie jest właściwe podejście? Ponieważ wyrównanie ma zastosowanie tylko w grupach równoległych, nie sądzę, że pomoc w postaci grupy poziomej z dwiema grupami sekwencyjnymi może pomóc?
Czego mi brakuje?
powinno być „LayoutStyle.ComponentPlacement.RELATED”, ale poza tym, działa świetnie, dzięki :) – zigdon
Ups, masz rację - ja mieszane wersje. Naprawiony. – Etaoin
Witam, czy należy dodać tę linię tylko do grupy pionowej, czy też do grupy poziomej? – Timmos