Que tal compañeros hoy
vamos a continuar con JAVA comenzando con algunos componentes de GUI, para
empezar entrada/salida simple con JOptionPane, los cuales son diálogos que se
muestran mediante la invocación de los
métodos JOptionPane del paquete javax.swin ahora la sintaxis para estos
diálogos es la siguiente:
String Variable =
JOptionPane.showInputDialog(“El texto que queremos mostrar”);
Ahora todo lo que se
capture en los diálogos se capturara de manera de cadenas de texto, si nosotros
queremos guardar un dato numérico es necesario convertirlo de la siguiente
manera:
Opción 1:
String variable =
JOptionPane.showInputDialog(“Ingresa un número”);
Convertimos la variable a
tipo entero o al que nosotros queramos seria de la siguiente forma:
Int numero =
Integer.parseInt(variable);
Si nosotros queremos a un
Double o Float seria cambiar el Integer por Double o Float seguido del
parteDouble(variable) o parseFloat(variable) esto dependerá a que lo queremos
convertir.
Opción 2:
Es capturar y convertir al
mismo tiempo, la ventaja es que reducimos bastante el código y no tenemos que
declarar otra variable para guardar y esto se reduce de la siguiente forma:
Int numero =
Integer.parseInt(JOptionPane.showInputDialog(“Texto”));
Y con eso nos reducimos
bastantes pasos y líneas de código, volviendo a nuestro programa más
entendible.
Ahora para la salida de información
necesitamos mandar un mensaje y esto se logra de la siguiente forma:
JOptionPane.showMessageDialog(//variable
a mostrar o mensaje a mostrar);
Ahora para ejemplificar
esto realizaremos un arreglo de celulares con los diálogos que acabamos de aprender.
Codigo:
import javax.swing.JOptionPane; /* * Programa: Entrada / Salida por JOptionPane con arreglo de objetos * Autor: Include Import */ public class Celular { private String Nombre; private String Marca; private double Precio; //SET'S public void setNombre(String nombre) {Nombre=nombre;} public void setMarca(String marca) {Marca=marca;} public void setPrecio(double precio) {Precio=precio;} //GET'S public String getNombre() {return this.Nombre;} public String getMarca() {return this.Marca;} public double getPrecio() {return this.Precio;} public static void main(String[] args) { //Creamos nuestro arreglo de Clases y de declara de la misma forma que un arreglo normal Celular []CatCelulares = new Celular [3];//El valor de 3 lo pueden cambiar a como lo necesiten //Variables String nombre, marca; double precio=0.0; //Recorremos el arreglo y guardamos informacion por cada posicion for(int cont=0; cont<3; cont++){ CatCelulares[cont]=new Celular();//Instanciamos un objeto celular para poder guardar nombre=JOptionPane.showInputDialog(null,"Ingresa el nombre del celular: ","Nombre",1); marca=JOptionPane.showInputDialog(null,"Ingresa la marca del celular:","Marca",1); precio=Double.parseDouble(JOptionPane.showInputDialog(null,"Ingresa el precio: ","Precio",1)); //Mandamos los datos a los metodos set para establecer los valores CatCelulares[cont].setNombre(nombre); CatCelulares[cont].setMarca(marca); CatCelulares[cont].setPrecio(precio); } //Mostramos la informacion del arreglo String cadena=""; for(int cont=0; cont<3; cont++){ //Concatenamos los valores del arreglo y los guardamos en una cadena cadena+="\nNombre: "+CatCelulares[cont].getNombre()+ "\nMarca: "+CatCelulares[cont].getMarca()+ "\nPrecio: "+CatCelulares[cont].getPrecio()+ "\n************************"; } //Mostramos los resultados obtenidos JOptionPane.showMessageDialog(null,cadena); }//End Main }//End class
Resultado
Esta bien como lo haces, pero esta pensado con solo tres objetos en el arreglo.
ResponderBorrarQue pasaría su el arreglo tuviera mas objetos?, Se crearía un mensaje de salida muy grande :/
efectivamente el mensaje seria muy grande, lo que seria ideal para un arreglo mas grande, es recorrer el arreglo mostrar el contenido por cada posición.
ResponderBorrar