viernes, 6 de junio de 2014

GUI con JOptionPane

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:
Capturamos en una variable String

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

Muy bien compañeros hasta aquí el post, esperamos que con este ejercicio se haya entendido los diálogos en JAVA. Si te gusto la información recuerda compartirla con tus amigos y asi podamos crecer como comunidad no olvides sin antes seguirnos por FACEBOOK, TWITTER y GOOGLE+.

2 comentarios:

  1. Esta bien como lo haces, pero esta pensado con solo tres objetos en el arreglo.
    Que pasaría su el arreglo tuviera mas objetos?, Se crearía un mensaje de salida muy grande :/

    ResponderBorrar
  2. 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

Formulario de contacto

Nombre

Correo electrónico *

Mensaje *