Inicio Foro Pregunta
Eduardo Soltero 2016-06-06 14:39:48
Pregunta cerrada

Como se pueden anidar layouts en java?

Estoy haciendo una interfaz en la cual utilizo AbsolutLayout, ahora esa misma la quiero editar haciendo el uso de distintas Layour, por ejemplo tengo el panel principal con un boxLAyout, el cual contiene 3 paneles en donde a esos quiero ponerle distintos layouts como el grid y el flow

Esta es la funcion donde defino el boxlayout

 

private void crearInterfaz()
    {
        getContentPane().setLayout(new BoxLayout(getContentPane(), BoxLayout.Y_AXIS));
        ((JPanel)getContentPane()).setBorder(new TitledBorder(null, "General", TitledBorder.LEADING, TitledBorder.TOP, null, Color.BLUE));
        
        add(panelSeleccion);
        formarPanelSeleccion();
        
        add(panelOperacion);
        
        add(panelTabla);
        
        pack();
    }
Java

Respuestas

Debes iniciar sesión para poder responder a esta pregunta.

Que tal, de la forma que esta declarado el panel con boxlayout es correcto el cual permite agregar elementos ya sea de forma horizontal o vetical, una vez agregados los paneles dentro del panel principal, se puede editar el tipo del layout metiendolo a una funcion como se aprecia en el codigo, en el cual una vez definido el layout se pueden agregar todos los componentes deseados.

La ventaja de realizar layouts anidados sin hacer el uso del layout absolut es que al momento de agrandar o ajustar la ventana todos sus elementos de ajustan a la ventana,

Cabe destacar que dentro de estos mismos paneles se pueden anidar mas paneles simplemente haciendo el mismo paso.

private void formarPanelSeleccion() {
		panelSeleccion.setLayout(new FlowLayout(FlowLayout.LEFT));
		panelSeleccion.setBorder(BorderFactory.createTitledBorder("Panel de Seleccion"));
		panelSeleccion.add(new JLabel("Busqueda:"));
		radioGroup.add(rdbtnCodigo);
		panelSeleccion.add(rdbtnCodigo);
		radioGroup.add(rdbtnFecha);
		panelSeleccion.add(rdbtnFecha );
	}
Me gusta (2)