�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... |
---|
|
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... |
---|
|
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... |
---|
|
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... |
---|
|
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? |
---|