2012-01-21 12 views
10

Ho bisogno di posizionare una JLabel su alcuni JButton, verticalmente, come un menu di gioco. Dovrebbero essere tutti centrati. Ho già scaricato MigLayout, ma non sono sicuro di come usarlo, quindi voglio solo un modo per posizionare i miei componenti verticalmente e centrati, MigLayout o no. Inoltre, non voglio usare un designer GUI IDE.Layout verticale Java?

+0

* "Io non voglio usare un progettista IDE GUI" * +1 :) Tali progettisti * * può aumentare la produttività per uno sviluppatore che comprende già i layout e come combinarli. Fino a quando non diventerai esperto nei layout core di J2SE (+ forse in un layout di terze parti o in 3) è meno che utile cercare di progettare una GUI mentre combatti il ​​designer della GUI. –

+0

Il problema è che ho già scritto tutta la mia roba GUI a mano (eccetto per questo), e non voglio rivederlo fornirà un grande vantaggio. – Jimmt

risposta

22

Per questo è possibile utilizzare una (singola colonna) GridLayout o BoxLayout. Vedi Using Layout Managers & A Visual Guide to Layout Managers per ulteriori suggerimenti, idee e fonte di lavoro.

+3

+1, 10 secondi prima di me – Jeffrey

+0

@Jeffrey Probabilmente era perché ho postato la risposta prima di modificare per aggiungere collegamenti. ;) –

+0

BoxLayout funziona bene per i pulsanti, ma non per JLabels ... il mio JLabel è ancora allineato a sinistra. – Jimmt

1

È necessario utilizzare BoxLayout. Ecco un esempio di base

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)); 
     } 
    } 

} 
Problemi correlati