lunes, 17 de octubre de 2011

Menu grafico (ingresar variable por teclado)

Hello people!
Hoy repase algo sencillo pero bastante útil y mejorado:
Para leer un texto del teclado usábamos el buffer de datos de la siguiente manera:
//primero usábamos unas frases que nos permitían empezar a usar el buffer:

String tex;
        InputStreamReader isr = new InputStreamReader(System.in);
        BufferedReader txt = new BufferedReader(isr);
        System.out.println("ingrese comentario"); // imprime el texto entre “”
        tex=txt.readLine();
y de esa manera podríamos leer por teclado una frase y guardarla en la variable tex como un String.. (considerando las 3 librerias)


pero eso quedo en el pasado, porque es bastante engorroso y no es muy amigable con la estética.. Quizá tendrá algún uso específico pero para nosotros como principiantes nos ayudara más otra opción:

package prueba.buffer;
import javax.swing.JOptionPane;
public class PruebaBuffer {
    public static void main(String[] args) {
        String tex;
        tex=JOptionPane.showInputDialog("ingrese comentario");   
    }
}
La única precaucion es agregar UNA sola librería que es:  import javax.swing.JOptionPane;
Versus las 3 del buffer. Y se ve de esta forma:




Pero si solo querias imprimir un comentario sin un cuadro de lectura de texto, usa:
String tex;
        tex=JOptionPane.showInputDialog("ingrese comentario");
        JOptionPane.showMessageDialog(null, tex);




Un  detalle es que lee solo variables de tipo String, pero como buen programador, tenemos solucion a todo:

int num;
        num=Integer.parseInt(JOptionPane.showInputDialog("ingrese comentario"));
        JOptionPane.showMessageDialog(null, num);


Un pequeño ejemplo:


package cajero;
import javax.swing.*;
public class Cajero {
    public static void main(String[] args) {
        int num;
       
        do{
               num=Integer.parseInt(JOptionPane.showInputDialog("operacion:\n 1)suma \n 2)resta\n 3)salir"));
        }while(num>3);
        switch (num){
            case 1:
                int x =Integer.parseInt(JOptionPane.showInputDialog("ingrese x"));
                int y =Integer.parseInt(JOptionPane.showInputDialog("ingrese y"));
                JOptionPane.showMessageDialog(null,"el resultado de la suma es: "+(x+y));
                break;
            case 2:
                int a =Integer.parseInt(JOptionPane.showInputDialog("ingrese x"));
                int b =Integer.parseInt(JOptionPane.showInputDialog("ingrese y"));
                JOptionPane.showMessageDialog(null,"el resultado de la suma es: "+(a-b));
                break;
       
        }
       
       
    }
}

 
Bueno eso fue todo por ahora, espero que les sea ayuda en algún momento..
Sugerencias, aportes y preguntas? No dudes en contactarme: ciclid.info@gmail.com


No olvides de responder la encuentra a la derecha de la pantalla!! Gracias!