2012-01-21 14 views
10

Potrzebuję ustawić JLabel nad niektórymi JButtons, pionowo, jak menu gry. Wszystkie powinny być wyśrodkowane. Pobrałem już MigLayout, ale nie jestem pewien, jak tego użyć, więc chcę po prostu ustawić pionowe i wyśrodkowane komponenty, MigLayout lub nie. Ponadto nie chcę używać projektanta GUI IDE.Układ pionowy Java?

+0

* „Nie chcę używać projektanta IDE GUI” * +1 :) Takie projektanci * może * wzrost produktywności dla dewelopera, że ​​już rozumie układów i jak je połączyć. Dopóki nie osiągniesz biegłości w podstawowych układach J2SE (+ może układ strony trzeciej lub 3), próbowanie zaprojektowania GUI podczas walki z projektantem GUI jest mniej niż pomocne. –

+0

Problem polega na tym, że napisałem już wszystkie moje rzeczy GUI ręcznie (z wyjątkiem tego), a nie chcę tego zmieniać, zapewni to dużą korzyść. – Jimmt

Odpowiedz

22

Możesz użyć do tego (pojedynczej kolumny) GridLayout lub BoxLayout. Zobacz Using Layout Managers & A Visual Guide to Layout Managers, aby uzyskać więcej wskazówek, pomysłów i źródła pracy.

+3

+1, 10 sekund ode mnie – Jeffrey

+0

@Jeffrey To było prawdopodobnie dlatego, że wysłałem odpowiedź przed edycją, aby dodać linki. ;) –

+0

BoxLayout działa dobrze dla przycisków, ale nie dla JLabels ... mój JLabel jest wyrównany w lewo. – Jimmt

1

Powinieneś użyć BoxLayout. Oto podstawowy przykład

import javax.swing.BoxLayout; 
import javax.swing.JLabel; 
import javax.swing.JPanel; 

public class VerticalPanel extends JPanel { 

    public VerticalPanel() { 
     super(); 
     setLayout(new BoxLayout(this, BoxLayout.Y_AXIS)); 

     for (int i = 0; i < 10; i++) { 
      add(new JLabel("Label n°" + i)); 
     } 
    } 

}