Pregunta

Estoy haciendo un proyecto escolar y necesita ayuda con el diseño porque está haciendo algunas cosas de moda.

Sólo necesito ayuda con el panel sur. El tablero sur se organiza algo como esto:

           JRadioButton JLabel1 JLabel2
           JRadioButton JLabel1 JLabel2
    JLabel3--------JTextField----------JButton

He intentado lo siguiente:

  1. Establecer los JPanel al sur a un GridLayout con 3 filas
  2. Otro JPanel también con un GridLayout con 3 filas añadidas a la primera fila de la GridLayout.
  3. Repetir # 2 con la segunda y tercera filas. La segunda fila tiene 3 filas por 3 columnas.
  4. Añadido los componentes apropiados en las filas / columnas.

No formatear la forma en que lo necesite. He intentado algunas otras técnicas que no puedo recordar. ¿Alguna sugerencia? Gracias. Aquí hay una foto de lo que el tablero sur debe verse como: http: //www.freeimagehosting. net / image.php? d14a73db5e.jpg

Se inicia en la "fecha de inicio ..."

¿Fue útil?

Solución

Crear un nuevo JPanel y usar grupo Diseño para eso.

gusta esta http://img163.imageshack.us/img163/1403/capturadepantalla201001bo .png

Usar diseño de grupo le permite especificar los componentes que irán en el grupo horizontal y los componentes que irán en el grupo vertical.

c1, c2, c3
c4, c5, c6
panel[ c7, c8, c9 ]

Así es como me Layout la imagen de arriba:

    // Layout Horizontal components 
    layout.setHorizontalGroup(
        layout.createSequentialGroup()
        .addGroup( 
            layout.createParallelGroup(GroupLayout.Alignment.LEADING)
            .addComponent( c1 )
            .addComponent( c4 )
        ).addGroup(
            layout.createParallelGroup(GroupLayout.Alignment.LEADING)
                .addComponent( c2 )
                .addComponent( c5)
        ).addGroup(
            layout.createParallelGroup(GroupLayout.Alignment.LEADING)
                .addComponent( c3 )
                .addComponent( c6 )
        )

    );

    // Layout vertical components 
    layout.setVerticalGroup(
        layout.createSequentialGroup()
        .addGroup( 
             layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
             .addComponent( c1 )
             .addComponent( c2 )
             .addComponent( c3 )
         ).addGroup(
             layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                 .addComponent( c4 )
                 .addComponent( c5 )
                 .addComponent( c6 ) 
        )
    );

    southPanel.add( panel ); // the start-end dates
    southPanel.add( bookIt, BorderLayout.SOUTH ); // the enter your name... 

Darle una oportunidad.

Otros consejos

Lo que haría por el sur JPanel es que sea una cuadrícula de 1x3, a continuación, añadir los tres componentes de la primera fila en una caja horizontal y añadirlo a la red, a continuación, los tres componentes de la segunda fila en otra caja horizontal y añadirlo a la red, a continuación, los tres componentes de la tercera fila en una cuadrícula de 3x1 y añadirlo a la red. A continuación, puede ajustar el aspecto exacto que desea para las dos primeras líneas mediante la adición de varios componentes de la cola y de puntal.

alcanzo la mayoría de mis diseños poniendo JPanels o cajas dentro de otras con diferentes diseños. Esto le da muy buen control sobre lo que quiere, y le permite construir encima de una pieza a la vez.

Parece que te gustaría un GridLayout con 3 columnas , no 3 filas para el panel inferior allí.

En la imagen en el enlace que se incluye, el campo de texto es más ancho que el JLabel o el botón. Es posible que desee probar un GridBagLayout lugar.

Recientemente yo nos topamos con MigLayout, voy a tratar de usarlo en mi próximo proyecto universitario y Yo te aconsejo a darle un tiro también se ve muy fresco y sencillo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top