Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
VENTANA DE OPERACION DE POTENCIAS CON JFRAME Necesito una ventana de operacin de potencias q tenga los siguientes espacios, 1 para la base, otro para el exponente otro para el resultado y tres botones 1 para calcular, otro para limpiar y otro para salir.
Procedimiento: 1) Crear un nuevo proyecto y llamarlo Potencias. Archivo->Nuevo Proyecto (File->New Project)
4) Agregar los siguientes controles al formulario: 4.1. Tres etiquetas (Label) 4.2. Tres Campos de texto (TextField) 4.3. Tres botones de comando
btnLimpiar
btnCalcular
btnSalir
5) A continuacin hacemos doble click en el botn CALCULAR e ingresamos en el siguiente cdigo (el texto color azul): private void btnCalcularActionPerformed(java.awt.event.ActionEvent evt) { try{ double base,exponente,resultado; base = Double.parseDouble(txtBase.getText()); exponente = Double.parseDouble(txtExponente.getText()); resultado = Math.pow(base,exponente); txtResultado.setText(String.valueOf(resultado)); } catch(Exception E){ JOptionPane.showMessageDialog(null,"Error, vuelva a ingresar los
2
datos"); txtBase.setText(""); txtExponente.setText(""); txtResultado.setText(""); } } 6) Luego, hacemos doble click en el botn LIMPIAR e ingresamos en el siguiente cdigo (el texto color azul): private void btnLimpiarActionPerformed(java.awt.event.ActionEvent evt) { txtBase.setText(""); txtExponente.setText(""); txtResultado.setText(""); txtBase.requestFocus(true); } 7) Finalmente en el botn SALIR e ingresamos en el siguiente cdigo (el texto color azul): private void btnSalirActionPerformed(java.awt.event.ActionEvent evt) { dispose(); } 8) Explicacin del cdigo Notar que el cdigo est entre el bloque try...catch. La estructura de control trycatch se usa para capturar el flujo de datos cuando, por la intervencin del usuario o de algn dispositivo externo, sucede un error. Por ejemplo, en el caso de una aplicacin de frmulas matemticas, el usuario debe ingresar valores numricos. Normalmente el sistema recibe cadenas que debern ser convertidas a un tipo de dato til para realizar las operaciones; pero si el usuario ingresa algo distinto a un dgito o a un operador, el programa fallar. Este es el error que debe ser capturado. Entre las llaves de try escribiremos el cdigo que har funcional nuestro programa. Dentro de esta primer seccin es colocado todo cdigo que pueda generar algn tipo de error.
try{
Uso del control Campo de texto double base,exponente,resultado; base = Double.parseDouble(txtBase.getText()); exponente = Double.parseDouble(txtExponente.getText()); resultado = Math.pow(base,exponente); txtResultado.setText(String.valueOf(resultado)); }
Para capturar la excepcin que puede generar este cdigo necesitamos otra instruccin llamada catch (capturar). Entre las llaves de catch escribimos el cdigo que tratar el error.
JOptionPane.showMessageDialog(null,"Error, vuelva a ingresar los datos"); txtBase.setText(""); txtExponente.setText(""); txtResultado.setText("");
ii. Capturamos los datos ingresados en los cuadros de texto txtBase y txtExponente. Para ello utilizamos el mtodo getText() de los campos de texto. Los datos capturados se convierten a tipo de dato Double con Double.parseDouble y se asignan a las variables base y exponente respectivamente
base = Double.parseDouble(txtBase.getText()); exponente = Double.parseDouble(txtExponente.getText());
iii. Se calcula la potencia, para lo cual utilizamos el mtodo pow(double base, double exponente) de la clase Math. A este mtodo se la pasan 02 parmetros, base y exponente. El resultado de la operacin lo asignamos a la variable resultado:
resultado = Math.pow(base, exponente);
El cdigo en catch Como ya sabemos, el cdigo escrito en catch se ejecutar si se prduce error (por intervencin del usuario o dispositivo externo) al ejecutar la aplicacin.
El cdigo en el botn LIMPIAR Observa que utilizamos el mtodo setText() de cada uno de los campos de texto para limpiar su contenido. A setText() se le pasa como parmetro una cadena vaca: setText(""), de esta manera se limpia un cuadro de texto. txtBase.setText(""); txtExponente.setText(""); txtResultado.setText(""); txtBase.requestFocus(true);
Finalmente, en el botn CERRAR: Utilizamos dispose () para cerrar el formulario y liberar recursos y memoria. dispose();