Universidad San Pedro SAD Barranca
Escuela: Curso: Ciclo: Prof.:
Ingeniería Informática y de Sistemas Fundamentos de Programación II Ing. CIP Jorge Pariasca León
ENTRADA Y SALIDA (E/S) CON INTERFACES GRÁFICAS DE USUARIO (GUIs): JOPTIONPANE La biblioteca de clases estándar de Java incluye una amplia gama de componentes para la construcción de interfaces gráficas de usuario. El componente javax.swing.JOptionPane se puede emplear para obtener datos de entrada y mostrar mensajes de salida: Salida de datos conJOptionPane. showMessageDialog JOptionPane.showMessageDialog ( null, “¡Bienvenido a Java!” );
JOptionPane.showMessageDialog(null,“¡Bienvenido a Java!”,“Programa de ejemplo”,JOptionPane.INFORMATION_MESSAGE );
JOptionPane.showMessageDialog ( null,“¡Bienvenido a Java!”,“Programa de ejemplo”,JOptionPane.WARNING_MESSAGE );
JOptionPane.showMessageDialog ( null,“¡Bienvenido a Java!”,“Programa de ejemplo”,JOptionPane.ERROR_MESSAGE );
Entrada de datos con JOptionPane.showInputDialog String entrada; entrada = JOptionPane.showInputDialog ( "Introduzca un valor" );
Universidad San Pedro SAD Barranca
Escuela: Curso: Ciclo: Prof.:
Ingeniería Informática y de Sistemas Fundamentos de Programación II Ing. CIP Jorge Pariasca León
entrada=JOptionPane.showInputDialog(null,"Introduzca un valor","Mi programa en Java", JOptionPane.QUESTION_MESSAGE );
entrada=JOptionPane.showInputDialog(null,"Introduzca un valor","Otro programa en Java",JOptionPane.INFORMATION_MESSAGE );
int opcion = JOptionPane.showConfirmDialog(null, “Debes elegir uno", “Decide", JOptionPane.YES_NO_OPTION);
Ejemplos: 1.
Presentar la tabla de multiplicar de un número positivo import javax.swing.JOptionPane; public class TablaMultiplicar { public static void main(String[] args) { String leer; int num,resp,i,opcion; do{ String mensaje=""; do{ leer=JOptionPane.showInputDialog("Ingrese un número positivo: "); num=Integer.parseInt(leer); if(num<0) JOptionPane.showMessageDialog(null,"ERROR:\nEl número debe ser mayor que cero,\nvuelva a ingresar"); }while(num<0); for(i=1;i<=12;i++){ resp=num*i; mensaje=mensaje+num+" x "+i+" = "+resp+"\n"; } JOptionPane.showMessageDialog(null, "TABLA DE MULTIPLICAR DEL "+num+"\n"+mensaje);
Universidad San Pedro SAD Barranca
Escuela: Curso: Ciclo: Prof.:
Ingeniería Informática y de Sistemas Fundamentos de Programación II Ing. CIP Jorge Pariasca León
opcion = JOptionPane.showConfirmDialog(null, "¿Desea continuar?", "Decida por favor", JOptionPane.YES_NO_OPTION); }while(opcion==0); } }
Universidad San Pedro SAD Barranca
Escuela: Curso: Ciclo: Prof.:
Ingeniería Informática y de Sistemas Fundamentos de Programación II Ing. CIP Jorge Pariasca León
En esta aplicación se va a desarrollar un menú con las siguientes opciones: [1] Ingresar 3 notas de un alumno [2] Calcular el promedio simple [3] Calcular el promedio duplicando la mayor nota [4] Calcular el promedio eliminando la menor nota [5] Finalizar la aplicación import javax.swing.*; public class MenuNotas { public static void main(String[] args) { int opc; double n1=0,n2=0,n3=0,pf=0; boolean valid=false; String lectura; do{ if(valid==true){ JOptionPane.showMessageDialog(null, "-----MENU DE OPCIONES-----\n\n" + "\t[1] Ingrese 3 notas\n"+"\t[2] Calculo Promedio Simple\n"+ "\t[3] Calculo Promedio duplicando la nota mayor\n"+ "\t[4] Calculo Promedio eliminando la nota menor\n"+"\t[5] Finalizar el programa"); } else { JOptionPane.showMessageDialog(null, "-----MENU DE OPCIONES-----\n\n"+ "\t[1] Ingrese 3 notas\n"+"\t[5] Finalizar \n ingrese su opción :"); } lectura=JOptionPane.showInputDialog("Ingrese su opcion :"); opc=(int) Double.parseDouble(lectura); switch (opc){ case 1: do { lectura=JOptionPane.showInputDialog("\tIngrese la primera nota :"); n1=Double.parseDouble(lectura); if (n1>20 ||n1<0){ JOptionPane.showMessageDialog(null, "\n\tERROR.LA NOTA DEBE DE ESTAR ENTRE 0 Y 20");} }while (n1>20 || n1<0); do { lectura=JOptionPane.showInputDialog("\tIngrese la segunda nota :"); n2=Double.parseDouble(lectura); if (n2>20 ||n2<0){ JOptionPane.showMessageDialog(null, "\n\tERROR.LA NOTA DEBE DE ESTAR ENTRE 0 Y 20");} }while (n2>20 || n2<0); do { lectura=JOptionPane.showInputDialog("\tIngrese la tercera nota :"); n3=Double.parseDouble(lectura); if (n3>20 ||n3<0){ JOptionPane.showMessageDialog(null, "\n\tERROR.LA NOTA DEBE DE ESTAR ENTRE 0 Y 20");} }while (n3>20 || n3<0); valid=true; break; case 2: if(valid==true) { pf=(n1+n2+n3)/3;JOptionPane.showMessageDialog(null,"\tEl PF es = "+pf); } break;
Universidad San Pedro SAD Barranca
Escuela: Curso: Ciclo: Prof.:
Ingeniería Informática y de Sistemas Fundamentos de Programación II Ing. CIP Jorge Pariasca León
case 3: if (valid==true){ pf=(n1+n2+n3+Math.max(n1,Math.max(n2, n3)))/4; JOptionPane.showMessageDialog(null,"\tEl PF duplicando la nota mayor es = "+pf); } break; case 4: if (valid==true){ pf=(n1+n2+n3-Math.min(n1,Math.min(n2,n3)))/2; JOptionPane.showMessageDialog(null,"\tEl PF eliminando la nota menor es = "+pf); } break; case 5: if(opc==5){ JOptionPane.showMessageDialog(null,"\tGracias. Hasta pronto"); } break; default:JOptionPane.showMessageDialog(null,"\tOpción Incorrecta, reintente nuevamente"); } }while(opc!=5); } }