2012-01-21 19 views
10

Necesito colocar un JLabel sobre algunos JButtons, verticalmente, como un menú de juego. Todos deberían estar centrados. Ya descargué MigLayout, pero no estoy seguro de cómo usarlo, así que solo quiero una forma de posicionar mis componentes verticalmente y centrados, MigLayout o no. Además, no quiero usar un diseñador IDE GUI.Disposición vertical de Java?

+0

* "No quiero utilizar un diseñador de interfaz gráfica de usuario IDE" * +1 :) Tales diseñadores * puede * aumentan la productividad de un desarrollador que ya entiende los diseños y cómo combinarlos. Hasta que no sea competente en diseños J2SE básicos (+ tal vez un diseño de terceros o 3), no es útil tratar de diseñar una GUI mientras lucha contra el diseñador de la GUI. –

+0

El problema es que ya escribí todo mi material gráfico GUI a mano (excepto por esto), y no quiero revisarlo proporcionará un gran beneficio. – Jimmt

Respuesta

22

Puede utilizar una (sola columna) GridLayout o BoxLayout para esto. Consulte Using Layout Managers & A Visual Guide to Layout Managers para obtener más consejos, ideas y fuentes de trabajo.

+3

+1, 10 segundos antes que yo – Jeffrey

+0

@Jeffrey Probablemente fue porque publiqué la respuesta antes de editar para agregar enlaces. ;) –

+0

BoxLayout funciona bien para botones, pero no para JLabels ... mi JLabel todavía está alineado a la izquierda. – Jimmt

1

Debe usar BoxLayout. Aquí un ejemplo básico

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

}