viernes, 13 de julio de 2012

2.2.3 Paneles

Panel
Para la ayuda al manejar los elementos gráficos tenemos el Panel, que es la clase que nos permite tomar elementos gráficos en forma agrupada y se manejan como si fuera un solo elemento a la hora de añadirlos en una distribución (Layout).
Para crear un Panel solo se define este y al crearse se le define internamente la distribución de los elementos a mostrar, por ejemplo podemos decir que el panel 1 tiene un GridLayout como distribución y el panel 2 tiene un BorderLayout y que estos pertenecen a un FlowLayout como distribución general, tal como se muestra en el siguiente ejemplo:
import java.awt.*;
import java.applet.*;

// <applet width="400" height="200" code="AppletInterfaz9"></applet>

public class AppletInterfaz9 extends Applet {
Button b1, b2, b3, b4, b5;
TextField t1, t2, t3, t4, t5;
Panel p1, p2;

public AppletInterfaz9() {
setLayout(new FlowLayout());
p1 = new Panel(new GridLayout(2,2,10,10));
p2 = new Panel(new BorderLayout());
t1 = new TextField("a");
t2 = new TextField("b");
t3 = new TextField("c");
t4 = new TextField("d");
t5 = new TextField("e");
b1 = new Button("b1");
b2 = new Button("b2");
b3 = new Button("b3");
b4 = new Button("b4");
b5 = new Button("b5");
p1.add(t1);
p1.add(t2);
p1.add(t3);
p1.add(t4);
p1.add(t5);
p2.add(b1,BorderLayout.NORTH);
p2.add(b2, BorderLayout.EAST);
p2.add(b3, BorderLayout.WEST);
p2.add(b4, BorderLayout.SOUTH);
p2.add(b5, BorderLayout.CENTER);
add(p1);
add(p2);
}
}

El cual se visualiza asi:


Es importante observar que una vez que definimos los paneles y añadimos los elementos a ellos, es importante NO OLVIDAR que debemos añadir los paneles al applet al final, por eso tenemos add(p1);   y    add(p2);  al final.
Los paneles se pueden utilizar como nosotros mejor dispongamos, cada uno de ellos puede ser tratado como la ventana del applet, de tal manera que podemos definir un diferente manejador de espacio para cada uno, como lo estamos observando en el ejemplo pasado.

Inclusive podemos tener un panel cuyo manejador de espacio es un GridLayout, pero hacia adentro, uno de los elementos que le añadimos a ese panel puede ser otro panel que contiene elementos añadidos con un manejador de espacio de FlowLayout, o BorderLayout, en fin, podemos utilizar la imaginación para definir diferentes presentaciones de nuestro applet.

Pudiéramos inclusive manejar un panel dentro de otro, teniendo cuidado de utilizar el método add correctamente en el panel adecuado, cuando usamos p1.add( objeto); lo que estamos haciendo es añadir el objeto gráfico al panel p1, pero esa instrucción aun no añade algo al applet, es por esto que debemos tener cuidado de añadir finalmente al applet el panel, o los paneles finales, es decir los que ya contengan la información deseada, con los correspondientes objetos creados.

 

No hay comentarios:

Publicar un comentario