Escolar Documentos
Profissional Documentos
Cultura Documentos
La clase Component
Todos los componentes que puedan visualizarse en pantalla son subclases de la clase Component.
Contenedores
Nos permite insertar componentes. La clase awt.Container es la que nos permite crear los contenedores.
class java.awt.Container
class java.awt.Panel
class java.applet.Applet
Labels (Etiquetas)
Son usadas para displayar informacin que no puede ser modificada. Constructores
Label ( ) Label (String s) Label (String s, int alignment)
Mtodos
String getText( ) void setText (String s) void setAlignment (int alignment)
Label.LEFT, Label.CENTER, Label.RIGHT
Choice
Este componente puede presentar un usuario con una serie de alternativas de las cuales solo una seleccin puede hacerse. Constructor: Choice(): Crea una nueva lista de seleccin. Mtodos: void add (String item): Agrega un item a la lista. String getItem(int index): Retorna el string correspondiente al ndice. void addItemListener(ItemListener l): Agrega un listener para detectar los eventos que se producen componente Choice. Ver ChoiceApplet.java y ChoiceApplet.html
List
Permiten escoger entre una o ms opciones. Constructores: List(): Crea una nueva lista List(int rows): Crea lista con un nmero especfico de lneas. List(int rows, boolean multipleMode): Crea una nueva lista con cierto numero de filas y especifica si permite seleccin mltiple. Mtodos: void add(String item): agrega un item al final de la lista. void add(String item, int index): agrega un item en cierto ndice. Ver ListApplet.java y ListApplet.html
TextField
Cuadro de texto de una sola lnea. Constructores: TextField() TextField(int columns): Construye un campo de texto con un nmero especfico de columnas. TextField(String s): Construye un campo de texto que displaya s. Mtodos: void setEchoChar(char c): Setea el caracter a ser displayado a medida que el usuario tipea. void setEditable(boolean b) //true==editable Especifica si un TextField es editable. Ver TextFieldApplet.java
TextArea
Constructores: TextArea() TextArea(String text): Construye una nueva rea de texto con un texto especfico TextArea(int rows, int columns): Construye un area de texto con un nmero especfico de filas y columnas. Mtodos: void append(String str): agrega un texto dado a un text area. void setColumns(int columns): Setea el nmero de columnas para esta rea de texto. void setRows(int rows): Setea el nmero de filas para el rea de texto. Ver TextAreaApplet.java
Ventajas
Permiten representar de una manera ordenada los componentes en la pantalla. Cuando usamos los administradores no nos tenemos que preocupar, por ejemplo, de que se redimensione una ventana, ya que el propio administrador se encargar de reorganizar los componentes en el Container.
Cmo definirlo?
Para utilizar un layout manager especfico, se usa el mtodo de la clase Container:
setLayout(AdministradorDeDiseo)
Por ejemplo:
setLayout(new BorderLayout());
FlowLayout
Es el administrador de diseo por defecto de la clase Panel, por ende de los applets. Coloca los componentes de izquierda a derecha en una fila, segn se van insertando en el contenedor, y cuando llega al borde del contenedor los sigue insertando en la siguiente fila. Este administrador posee 3 constructores: FlowLayout( ) FlowLayout(int alineamiento)
El alineamiento puede tomar los siguientes valores: FlowLayout.LEFT, FlowLayout.RIGHT, o FlowLayout.CENTER
Descripcin
Devuelve el tipo de alineacin establecido. Establece la alineacin de los componentes. Devuelve la distancia horizontal que existe entre un componente y otro. Devuelve la distancia vertical que existe entre un componente y otro. Establece la distancia horizontal entre componentes. Establece la distancia vertical entre componentes.
Ejemplo de FlowLayout
BorderLayout
Administrador por defecto para los marcos (Frame) y cuadros de dilogo. Este administrador posee los siguientes constructores:
BorderLayout() BorderLayout(int distancia_h, int distancia_v)
Ver Botones.java
GridLayout
Este administrador divide el contenedor en una cuadrcula, cada una de estas albergar un componente. Todas las casillas son del mismo tamao. Los componentes se agregan de izquierda a derecha y de arriba hacia abajo. Tiene 3 constructores: GridLayout() GridLayout(int filas, int columnas) GridLayout(int filas, int columnas, int dist_h, int dist_v) Ver AdminGrid.java
Ejercicio en Clase
Tareas
Leccin cap 9 para el prximo viernes. Deber: Ejercicios del captulo 9 para el prximo viernes.
CardLayout
Este administrador es el nico que permite cambiar los componentes en pantalla en tiempo de ejecucin. Su potencia radica en el uso de paneles. Podremos en un instante determinado visualizar uno de los paneles dejando los otros paneles sin visualizar.
Constructores CardLayout CardLayout() CardLayout(int distancia_h, int distancia_v) Mtodos de CardLayout first(Container padre) Visualiza el primer contenedor. last(Container padre) Visualiza el ltimo contenedor. next(Container padre) Visualiza el siguiente contenedor. show(Container padre, String nombre) Visualiza un contenedor especfico.
GridBagLayout
Similar al GridLayout, con las diferencias siguientes:
Los componentes, pueden tener diferente tamao. Los componentes pueden ocupar ms de una celda. Los componentes se pueden agregar en cualquier orden.
Clase GridBagConstraints
Esta clase especifica las restricciones de los componentes que sern colocados en un GridBagLayout. Las propiedades son: anchor: Posicin del componente dentro de la celda: NORTH, NORTHWEST, CENTER, etc. insets (inttop, intleft, intbottom, intright) : es el margen que tienen los componentes dentro de la celda. gridx: Columna en la cual se pone al componente. gridy: Fila en la cual se pone al componente. gridwidth: Nmero de columnas que un componente ocupa (REMAINDER: todas las que restan). gridheight: Nmero de filas que un componente ocupa. (REMAINDER). (Ver GridBagDemo.java)