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?
10
A
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.
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));
}
}
}
* "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. –
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