Introducción
Ficha Técnica
Configuración
Estructura
Reordenamiento
Eventos
Espacio
Referencia
Atributos
Errores
Clases
Ejemplos
Download
Referencia

La referencia de celdas para obtener un objeto se hace por medio de la función get(). Cabe señalar, que cuando se pide espacio de celdas adicional por medio de la función setSize(), se crean referencias que tienen un objeto en común. Por ejemplo

    setSize(1,1,2,2);
    putButton(1,1,”hola”);

Crea un objeto que ocupa dos columnas y dos filas, o sea cuatro celdas lo que significa que este objeto puede ser referenciado por cuatro coordenadas diferentes: (1,1), (1,2), (2,1) y (2,2). Esto quiere decir que el código de arriba es equivalente a

    setSize(1,1,2,2);
    putButton(2,2,”hola”);

Lo  mismo sucede si después se quiere borrar el objeto. Se hace de la siguiente forma:

    remove(1,1);

Lo cual es equivalente a

    remove(1,2);

Todo lo anterior es debido a que cuando se pide espacio de celdas con setSize(), las celdas que pertenecen al espacio pedido, referencian al mismo objeto que el espacio contiene.

De la misma manera al hacer la llamada a la función get, para el caso anterior se tiene que

    Wbutton boton = (Wbutton)get(1,1);

es equivalente a

    Wbutton boton = (Wbutton)get(1,2);

y a

    Wbutton boton = (Wbutton)get(2,1);

y

    Wbutton boton = (Wbutton)get(2,2);

En los casos anteriores antes del get se antepuso el nombre de la clase entre paréntesis. Esto se debe a que el retorno de la función get es del tipo Wwidget. Luego para que este objeto sea convertido al objeto correspondiente se antepone el nombre de la clase a que corresponde el objeto guardado en la posición entre paréntesis. Esto se denomina Cast o conversión de tipos.

Cualquier intento de hacer un Cast a un objeto que corresponde arroja un error de la JVM. Por ejemplo para el caso del botón.

    Si en vez de hacer:
    Wbutton boton = (Wbutton)get(1,1);

    Se hiciese:
    Wlist boton = (Wlist)get(1,1);

Esto arrojaría un error por parte de la JVM. por realizar un cast incorrecto.