Cargando



Sub-contenedores en Java

En este tutorial vamos a ver cómo utilizar el panel como sub-contenedor para organizar la interfaz gráfica que verá el usuario de nuestra aplicación en Java.


ago 22 2014 17:21
Avanzado
ago 26 2014 14:56
La forma en la que organizamos la interfaz gráfica de nuestro programa influye mucho en su facilidad de uso y también en la comodidad para el usuario, es por ello que cuando trabajamos con un solo contenedor para interfaces complejas se hace casi imposible lograr un resultado aceptable.

Es por ello que debemos buscar algunas alternativas que nos permitan solventar el problema sin tener que añadir complejidad al proceso de desarrollo del programa o aplicación, teniendo esto en mente podemos entonces utilizar el panel como sub-contenedor en Java , con ello podremos ir dividiendo cada sección dentro de nuestra interfaz y así lograr el resultado gráfico deseado.

Utilizando el panel como sub-contenedor


Para esto debemos dividir una ventana en paneles, de esta forma podemos organizar un panel como grillas y dejar otro sin divisiones, de la misma forma en la que dividiríamos una hoja en blanco trazando líneas sobre ella.

Contenedor inicial
Logramos esto al crear un contenedor inicial, a este le vamos a asignar el administrador de layouts que deseemos y luego creamos un nuevo contenedor, aparte de los elementos propios que le vayamos a añadir le agregamos el contenedor anterior y así vamos sucesivamente construyendo nuestra interfaz.


Para poder lograr esto debemos utilizar la clase JPanel de la librería swing de Java y con el método add() podemos agregar los diferentes elementos.

Ejemplo práctico


Vamos a construir un ejemplo sencillo, tendremos dos paneles, el primero contendrá un grid de 4x3 y el siguiente contendrá un texto y contendrá también a nuestro primer panel, con ello podremos tener una disposición diferente.

Veamos el siguiente código donde construimos la disposición de un horno de microondas, tenemos el espacio de la bandeja de la comida y al lado derecho tendremos los botones que utilizaremos para operarlo:

import java.awt.*;
import javax.swing.*;

public class Microondas extends JFrame {
		 public Microondas() {
					 JPanel p1 = new JPanel();
					 p1.setLayout(new GridLayout(4, 3));
					 for (int i = 1; i <= 9; i++) {
								 p1.add (new JButton("" + i));
					 }
					 p1.add(new JButton("" + 0));
					 p1.add(new JButton("Inicio"));
					 p1.add(new JButton("Detener"));
					 JPanel p2 = new JPanel(new BorderLayout());
					 p2.add (new JTextField("El tiempo se muestra aqui"),
					 BorderLayout.NORTH);
					 p2.add (p1, BorderLayout.CENTER);
					 add(p2, BorderLayout.EAST);
					 add(new JButton("Aqui va la bandeja de la comida"),	 BorderLayout.CENTER);
		 }
		 public static void main(String[] args) {
					 Microondas frame = new Microondas();
					 frame.setTitle("El horno de microondas");
					 frame.setSize(400, 250);
					 frame.setLocationRelativeTo(null);
					 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
					 frame.setVisible(true);
		 }
}


Podemos ver como p1 será nuestro primer panel, el cual contendrá el grid ya mencionado anteriormente, para construir los botones hacemos un ciclo for y con el método add() los vamos agregando al contenedor.

Luego creamos nuestro segundo panel contenedor, que llamamos p2, el cual contendrá inicialmente un texto y luego le añadimos el panel p1, finalmente en el método main() hacemos el llamado a nuestra interfaz. Si todo ha salido de forma correcta podremos ver un resultado como el siguiente:

java_subpanel_contenedor.jpg


Ya con esto hemos creado un horno de microondas, por supuesto si queremos que funcione habrá que hacer la programación de los botones, pero eso es otra historia. Notamos como hemos podido organizar de una forma sencilla y práctica el contenido, con esta base podemos seguir experimentando para lograr divisiones cada vez más complejas o ajustadas a nuestros requerimientos si así lo deseamos.

Finalizando este tutorial hemos aprendido como podemos utilizar el componente JPanel de Java para generar sub-contenedores y así organizar nuestras interfaces de usuario.

¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X