Mi - MAnual - de - Java
Mi - MAnual - de - Java
Mi - MAnual - de - Java
// Crear panel
Panel bottomPanel = new Panel();
// Crear artefactos
texto= new TextField("TextField");
boton= new Button("Button");
check= new Checkbox("Checkbox");
// Agregarlos al panel
bottomPanel.add(texto);
bottomPanel.add(boton);
bottomPanel.add(check);
Para colocar los artefactos en el frame (es decir en un objeto de la clase Gui) se usa el
método add, pero con un argumento adicional que dice si cada artefacto se agrega a la
izquierda, arriba, etc. Esto es específico del organizador BorderLayout.
// Define el organizador
setLayout(new BorderLayout());
// Crear artefactos
...
// Agregar artefactos
add("Center", canvas);
add("North", etiqueta);
add("West", areaTexto);
add("East", lista);
// Agregar el panel
add("South", bottomPanel);
Botones de Pulsación
addActionListener() Añade un receptor de eventos de tipo Action
producidos por el botón
getLabel() Devuelve la etiqueta o título del botón
removeActionListener() Elimina el receptor de eventos para que el botón
deje de realizar acción alguna
setLabel() Fija el título o etiqueta visual del botón
Botones de Selección
Los botones de selección (Choice) permiten el rápido acceso a una lista de elementos,
presentándose como título el item que se encuentre seleccionado.
La clase Choice también dispone de cerca de una veintena de métodos que permiten la
manipulación de los items disponibles para la selección, cuya amplia documentación el
lector puede consultar en el API del JDK.
import java.awt.*;
import java.awt.event.*;
import java.util.*;
Los trozos de código que merecen un repaso en el programa anterior son los que se
ven a continuación. Empezando por las sentencias siguientes, que son las típicas
usadas en la instanciación del objeto Choice y la incorporación de objetos String a ese
objeto Choice.
La línea de código siguiente hace que el objeto Tercer Choice de tipo String, sea el que
se encuentre visible al lanzar la aplicación.
A esta sentencia le sigue el código que crea el objeto Frame, coloca el objeto Choice
en él, etc. Ya se han visto varias veces sentencias de este tipo, así que no merece la
pena volver sobre ellas. Así que ya solamente queda como código interesante en el
programa el método itemStateChanged() que está sobrescrito, del objeto
ItemListener.
Eventos de este tipo se producen siempre que el usuario realiza una selección (abre la
lista de opciones y pulsa el botón del ratón con el cursor sobre una de ellas). Y, como
se puede ver, el método getSelectedItem() es el encargado de obtener la
representación en cadena del item que estaba seleccionado en ese momento.
Botones de Comprobación
import java.awt.*;
import java.awt.event.*;
import java.util.*;
Hay cuatro trozos interesantes de código en este ejemplo que merecen un poco de
atención especial. El primero es la creación del objeto CheckboxGroup, que
posteriormente se utilizará para agrupar a los cuatro objetos Checkbox en un solo
grupo lógico.
También está la instanciación de los cuatro objetos Checkbox como parte del grupo
CheckboxGroup y su incorporación al Frame.
Listas
Las listas (List) aparecen en los interfaces de usuario para facilitar a los operadores la
manipulación de muchos elementos. Se crean utilizando métodos similares a los de los
botones Choice. La lista es visible todo el tiempo, utilizándose una barra de
desplazamiento para visualizar los elementos que no caben en el área de la lista que
aparece en la pantalla.
En el ejemplo java1304.java, que ilustra el empleo de las listas, coloca un objeto List y
un objeto Button sobre un objeto Frame. Se añaden quince objetos String a la lista y
se deja el segundo como seleccionado inicialmente. La apariencia de la ventana así
construida, al inicializar el programa, es la que se reproduce en la imagen siguiente.
Sobre la lista se instancia y registra un objeto de tipo ActionListener, cuyo propósito
es identificar y presentar en pantalla el objeto String, que el usuario ha seleccionado
haciendo un doble pique sobre él. Cuando selecciona y luego pica dos veces con el
ratón sobre un elemento de la lista, un evento es capturado por el método sobrescrito
actionPerformed() del objeto ActionListener. El código de este método utiliza la
llamada a getSelectedItem() de la clase List, para identificar y presentar la cadena que
corresponde al elemento seleccionado. Sin embargo, si el usuario realiza una doble
pulsación con el ratón sobre un elemento, mientras otro se encuentra seleccionado, el
método getSelectedItem() devuelve null y no aparecerá nada en pantalla.
import java.awt.*;
import java.awt.event.*;
class IHM {
public IHM(){
// Instancia un objeto List y coloca algunas cadenas sobre el,
// para poder realizar selecciones
List miLista = new List();
if( cadena.length != 0 ) {
System.out.println( "Seleccion Multiple de Elementos" );
for( int i=0; i < cadena.length; i++ )
System.out.println( " "+cadena[i] );
}
}
}
Si se realiza una revisión del código del ejemplo, se encuentran algunos fragmentos
que merecen una reflexión. En el primero de ellos, que se reproduce en las líneas
siguientes, se instancia un objeto List y se rellenan quince cadenas. La lista se define
como una selección múltiple y se fija el segundo elemento como el inicialmente
seleccionado en el momento del arranque del programa.
if( cadena.length != 0 ) {
System.out.println( "Seleccion Multiple de Elementos" );
for( int i=0; i < cadena.length; i++ )
System.out.println( " "+cadena[i] );
}
}
}
La clase String posee numerosas funciones para transformar valores de otros tipos de datos
a su representación como cadena. Todas estas funciones tienen el nombre de valueOf,
estando el método sobrecargado para todos los tipos de datos básicos.
String PI = Uno.valueOf( f );
String PI = String.valueOf( f ); // Mucho más correcto
String valueOf( boolean b );
String valueOf( char c );
String valueOf( int i );
String valueOf( long l );
String valueOf( float f );
String valueOf( double d );
String valueOf( Object obj );
String valueOf( char data[] );
String valueOf( char data[],int offset,int count );
Usa arrays de caracteres para la cadena.