Programación en castellano
Inicio > Tutoriales > Nuevo en Java > New 2 Java: Construir una Aplicación: 3.- Recibir Entradas de Usuario
-Tutoriales

New 2 Java: Construir una Aplicación: 3.- Recibir Entradas de Usuario


Objetos de Entrada

¿Qué línea es la correcta?

Ninguna de estas líneas es correcta. A la línea name = JTextField("Enter Your Name"); le falta la palabra clave new. A la línea name = new JTextField(Enter Your Name); le faltan las comillas alrededor del String. Las comillas le dicen al compilador que los caracteres son parte de un String.

El código correcto es:

name = new JTextField("Enter Your Name");

. Objetos de Entrada

El API Java tiene numerosas clases para construir objetos de entrada para recolectar datos de usuario. En este panel, usamos los siguientes objetos de entrada:

  • JTextField
  • JCheckBox
  • JButton

Cada uno de estos objetos acepta información del usuario desde entradas de texto hasta una pulsación del botón del ratón. Lo que sucede una vez los datos introducidos o elegidos es cosa nuestra.

El panel Diver Data empieza con conceptos de entrada simple y muestra el dato del usuario en la pantalla. En la Parte 4, aprenderemos cómo manejar datos de formas más complejas, como leerlos desde ficheros.

. La clase JTextField

Los campos de texto son familiares para muchos usuarios. Los encontramos en formularios de papel y la mayoría de las aplicaciones las usan para recolectar datos como nombres, direcciones, etc. Para crear un campo de texto en nuestra aplicación, inicializamos un ejemplar de la clase JTextField, de esta forma:

name = new JTextField();

Inicializando el objeto JTextField de esta forma se crea un campo de texto vacío.Otros constructores de la clase nos permiten crear campos de texto con un texto por defecto dentro del campo, o podemos seleccionar un tamaño específico.

Como también hemos proporcionar etiquetas para cada campo de texto, el constructor por defecto de JTextField es suficiente para los campos de texto del panel Diver Data, aunque veremos un ejemplo de campo de texto que muestra un texto más adelante.

Sigue estos pasos...
  1. Abre el fichero Diver.java en tu editor de texto.
  2. Inicializa un ejemplar de la clase JTextField por cada variable de campo de texto que seleccionamos anteriormente en la clase:
    // Initializes text fields for 
    // diver information
    name = new JTextField("Enter Your Name");
    street = new JTextField();
    city = new JTextField ();
    statezip = new JTextField ();
     
    // Initializes text fields for 
    // emergency information
    nname = new JTextField();
    phone = new JTextField();
    rel = new JTextField ();
    
  3. Graba el fichero.

Cada uno de estos campos de texto necesita un objeto label para que el usuario sepa qué texto debe introducir. Miramos a la lista de variables que declaramos al principio de la clase, luego inicializamos objetos JLabel para cada uno de los objetos etiqueta, proporcionando el texto que aparezca en la etiqueta.

Sigue estos pasos...
  1. Abre el fichero Diver.java en tu editor de texto.
  2. Después de la lista de objetos JTextField inicializados, inicializamos un objeto JLabel para cada etiqueta, proporcionando el texto necesario como un String:
    // Initializes labels for text fields
    lname = new JLabel("Name: ");
    lstreet = new JLabel("Street: ");
    lcity = new JLabel ("City: ");
    lstatezip = new JLabel("State & Zip Code: ");
    lnname = new JLabel("Name: ");
    lphone = new JLabel("Phone: ");
    lrel = new JLabel ("Relationship: ");
    
  3. Graba el fichero.

Hasta ahora, hemos declarado variables para los campos de texto y las etiquetas de la parte superior de la clase, y hemos inicializado esos objetos con el constructor. Posteriormente, en la definición del método que construye el panel al que se añadirán esos objetos, llamamos a los métodos accesores especiales para get (obtener) el texto introducido en los campos de texto.

. La clase JCheckBox

Los Check boxes son otra herramienta familiar para recolectar datos del usuario, y son especialmente útiles cuando tenemos listas de ítems a mostrar. Los usuarios saben intuitivamente cómo seleccionar o deseleccionar las cajas.

La clase JCheckBox tiene varios constructores a los que podemos llamar para crear cajas con o sin texto, cajas con iconos, y cajas que están seleccionadas inicialmente.

El panel Diver Data llama al constructor JCheckBox que incluye texto junto con la caja, eliminando la necesidad de etiquetas. La primera caja, Open Water, está seleccionada inicialmente. El constructor a llamar aparece en la documentación de esta forma:

JCheckBox(String text, boolean selected)

Esta línea nos instruye para proporcionar el texto que queremos que aparezca como un String, por eso el texto debe aparecer entre comillas. Además, proporcionamos un valor boolenao. Un booleano es una expresión que sólo puede tener un valor true o false. En este caso, especificamos true o false dependiendo de si queremos que la caja esté seleccionada inicialmente. El valor por defecto es false.

Para crear un checkbox marcado con el texto indicado, usamos el siguiente formato:

JCheckBox checkedBox;
checkedBox = new JCheckBox("Checked Box", true);

Por defecto un check box sin marca, usa:

JCheckBox checkedBox;
checkedBox = new JCheckBox("Checked Box");

o:

JCheckBox checkedBox;
checkedBox = new JCheckBox("Checked Box, false");
Sigue estos pasos...
  1. Abre el fichero Diver.java en tu editor de texto.
  2. Inicializa los ítems JCheckBox con los títulos de cada uno de los cursos de buceo siguiendo inmediatamente a la inicialización de los objetos JTextField y JLabel. Haz que el primer check box, Open Water, esté marcado en la inicialiación:
    // Initializes checkboxes with titles
    ow = new JCheckBox("Open Water", true);
    a = new JCheckBox("Advanced");
    res = new JCheckBox("Recovery & Rescue");
    un = new JCheckBox("Underwater Photography");
    w = new JCheckBox("Wreck & Cave Diving");
    
  3. Graba el fichero.

Nota:
Si estás reformando esta aplicación en un diario de ejercicios, o alguna otra herramienta, cambia los strings de los check boxes. Por ejemplo, en lugar de los nombres de los cursos de buceo, suministrale las recetas o los programas que has probado.

. La Clase JButton

Después de introducir el texto, necesitamos decirle a la aplicación que recupere y haga algo con los datos. Los botónes se usan normalmente para este propósito. Además, un usuario podría querer editar los datos introducidos, y de nuevo, un botón es una buena forma para indicar esta necesidad.

Creamos botones inicializando un ejemplar de la clase JButton. Esta clase tiene constructores que crean botones con texto, iconos, o ámbas cosas. Creamos un botón con texto de forma similar a un JLabel:

JButton button1;
button1 = new JButton("Button 1");

Este código crea un botón, pero no hace nada cuando lo pulsamos.

Sigue estos pasos...
  1. Abre el fichero Diver.java en tu editor de texto.
  2. Después de las líneas de código que inicializa los check boxes, inicializan dos botones: uno para introducir la información, y otro para edición:
    // Initialize buttons and image
    enter = new JButton("Enter Diver Data");
    edit = new JButton("Edit Diver Data");
    seahorse = new JLabel("",  
        new ImageIcon("images/2seahorses.jpg"), 
        JLabel.CENTER);
    
  3. Inicializa el objeto imagen, usando el fichero 2seahorses.jpg que descargamos anteriormente:
    seahorse = new JLabel("",  
        new ImageIcon("images/2seahorses.jpg"), 
        JLabel.CENTER);
    
  4. Graba el fichero.

Todos los objetos que van en el panel Diver Data están ahora inicializados dentro del constructor de esta clase. Sin embargo, no los añadimos directamente al objeto Diver. En su lugar los añadimos a los cuatro paneles que tienen sus propias distribuciones, luego añadimos cada panel a la distribución del objeto panel Diver principal.

Los paneles todavía no se han creado. Podríamos hacer esto aquí dentro del constructor, pero podría oscurecer el construcor y hacerlo díficil de leer.

¿Cómo deberíamos construir los cuatro paneles a añadir al panel Diver Data?
 A  Definimos métodos para construir los paneles
 B  Creamos nuevas clases para construir los panales
 C  Las dos
 
Patrocinados
 

Copyright © 1999-2007 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad

Hospedaje web y servidores dedicados linux por Ferca Network

red internet: musica mp3 | logos y melodias | hospedaje web linux | registro de dominios | servidores dedicados
más internet: comprar | recursos gratis | posicionamiento en buscadores | tienda virtual | gifs animados