Otra clase útil para aceptar la entrada del usuario, y la visualización de los resultados, es la clase JOptionPane. Este se encuentra en la biblioteca javax.swing. La clase JOptionPane le permite tener cuadros de entrada como ésta:
Y cuadros de mensaje como este:
Vamos a adaptar nuestro código de la sección anterior y tienen algunos paneles de opciones.
Lo primero que debe hacer es hacer referencia a la biblioteca que queremos utilizar:
javax.swing.JOptionPane importación;
Esto le dice a java que queremos utilizar la clase JOptionPane, situada en la biblioteca javax.swing.
Puedes iniciar un nuevo proyecto para esto, si usted prefiere no adaptar su código anterior. (Usted debe saber cómo crear un nuevo proyecto por ahora. Sólo recuerde que cambiar el nombre de la clase del principal a otra cosa. Nosotros vamos a tener el nombre de clase InputBoxes por los nuestros. Nuestro nombre del paquete será userinput.)
Agregue la línea de importación a su nuevo proyecto y su ventana de código debe ser similar a algo como esto:
(La razón del subrayado ondulado es que no hemos utilizado la clase JOptionPane todavía. Se va a desaparecer una vez que hacemos.)
Para obtener un cuadro de entrada que el usuario puede escribir en, podemos utilizar elshowInputDialog método de JOptionPane. Nos guardamos la entrada directamente en una primera variable nombre otra vez, al igual que la última vez. Así que añadir la siguiente línea a su principal método:
First_name String;
first_name = JOptionPane.showInputDialog ("Nombre");
first_name = JOptionPane.showInputDialog ("Nombre");
Tan pronto como se escribe un punto después de JOptionPane verá la siguiente lista desplegable:
Haga doble clic en showInputDialog. Entre los paréntesis de showInputDialog escriba el mensaje que desea mostrar por encima de la caja de texto de entrada. Hemos escrito "Nombre". Al igual que todas las cadenas, debe ir entre comillas dobles.
Agregue el código siguiente para que podamos tener el apellido del usuario:
FAMILY_NAME String;
FAMILY_NAME = JOptionPane.showInputDialog ("apellido");
FAMILY_NAME = JOptionPane.showInputDialog ("apellido");
Únete a los dos juntos, y añadir un poco de texto:
FULL_NAME String;
FULL_NAME = "Usted es" + first_name + "" + FAMILY_NAME;
FULL_NAME = "Usted es" + first_name + "" + FAMILY_NAME;
Para mostrar el resultado en un cuadro de mensaje, agregue lo siguiente:
JOptionPane.showMessageDialog (null, FULL_NAME);
En esta ocasión, queremos showMessageDialog de la lista desplegable. Entre los paréntesis primero tenemos la palabra nula. Esta es una palabra clave Java y sólo significa que el cuadro de mensaje no está asociado con ninguna otra cosa en el programa. Después de una coma viene el texto que queremos mostrar en el cuadro de mensaje. La totalidad de su código debería tener este aspecto:
Observe la línea en la parte inferior del código:
System.exit (0);
Como su nombre indica, esto asegura que el programa sale. Pero también arregla para nosotros, la eliminación de todos los objetos creados a partir de la memoria.
Ahora ejecute el código. (Otra forma rápida de ejecutar el programa en NetBeans es haciendo clic derecho en cualquier lugar dentro de la ventana de codificación. En el menú que aparece, seleccione Ejecutar Archivo.)
Verá el cuadro de Primera entrada Nombre. Escriba algo en él, a continuación, haga clic en Aceptar:
Cuando aparezca el cuadro de entrada del apellido, escriba un nombre de familia y haga clic en Aceptar:
Después de hacer clic en Aceptar, el cuadro de mensaje mostrará:
Haga clic en Aceptar para finalizar el programa.
Ejercicio
cajas de entrada y cuadros de mensaje se puede formatear más. Pruebe lo siguiente para sus cajas de entrada:
showInputDialog ("Nombre", "Introduzca su nombre");
showInputDialog ("Familia", "Escriba su apellido");
Ejercicio
Para sus cuadros de mensaje tratar esto (la suya deben estar en una línea):
showMessageDialog (null, FULL_NAME, "Nombre", JOptionPane.INFORMATION_MESSAGE);
Ejercicio
En lugar de tratar JOptionPane.INFORMATION_MESSAGE siguientes:
ERROR_MESSAGE
PLAIN_MESSAGE
QUESTION_MESSAGE
WARNING_MESSAGE
PLAIN_MESSAGE
QUESTION_MESSAGE
WARNING_MESSAGE
Ejercer una
entrada cajas no sólo son utilizadas para el texto: pueden aceptar los números también. Escriba un programa que solicita al usuario dos números, la anchura de un rectángulo y la altura de un rectángulo. Utilice un cuadro de mensaje para calcular el área del rectángulo. (Recuerde: el área de un rectángulo es su anchura multiplicada por la altura). Sin embargo, usted necesitará un poco de ayuda extra para este ejercicio.
entrada cajas no sólo son utilizadas para el texto: pueden aceptar los números también. Escriba un programa que solicita al usuario dos números, la anchura de un rectángulo y la altura de un rectángulo. Utilice un cuadro de mensaje para calcular el área del rectángulo. (Recuerde: el área de un rectángulo es su anchura multiplicada por la altura). Sin embargo, usted necesitará un poco de ayuda extra para este ejercicio.
Ayuda para el Ejercicio
Tienes que utilizar la variable String para obtener sus números de usuario:
Amplitud String;
anchura = JOptionPane.showInputDialog ("Rectángulo Amplitud");
anchura = JOptionPane.showInputDialog ("Rectángulo Amplitud");
Sin embargo, no se puede multiplicar dos cuerdas juntas. Es necesario convertir las cadenas a enteros. Puede convertir una cadena a un entero de esta manera:
Integer.parseInt (string_to_convert)
Así que tipo entero a continuación, un punto y aparte. Después de la parada, escriba parseInt ().Entre los paréntesis de parseInt, escriba el nombre de la variable de cadena que está tratando de convertir.
Configurar una variable int para el área. A continuación, puede multiplicarse y asignar en la misma línea;
int area = Integer.parseInt (string_one) * Integer.parseInt (string_two);
Para el cuadro de mensaje, utilice concatenación:
"answer =" + zona
Puede utilizar cualquiera de los símbolos de mensaje para su cuadro de mensaje.
Ejercicio B
El programa se bloqueará si ingresa valores de punto flotante por la amplitud y altura. ¿Cómo resolver esto?
Cuando haya resuelto el ejercicio anterior, lo que realmente quieres Integer.parseInt? ¿Qué otra cosa crees que puede utilizar?
No hay comentarios.:
Publicar un comentario