Además tendrás que incluir un botón para poder limpiar las casillas donde se introducen los euros y las pesetas.
En este caso utilizaremos un JFrame con dos cajas de texto y dos botones, algo así:
Descarga el proyecto aquí. (NetBeans)
SOLUCIÓN EN JAVA:
import java.text.DecimalFormat; import javax.swing.JOptionPane; public class Principal extends javax.swing.JFrame { public Principal() { initComponents(); } private void BEurosPesetasMouseClicked(java.awt.event.MouseEvent evt) { //Leer los euros de la casilla "euros", multiplicar 166,386 //y mostrar en la casilla "pesetas" float euros,pesetas; int pesetas_redondeadas; try{ //Leo la información del campo Euros del formulario euros=Float.parseFloat(TEuros.getText()); //Hago la conversión y redondeo pesetas=euros*(float)166.386; pesetas_redondeadas=Math.round(pesetas); //Muestro las pesetas equivalente en el campo Pesetas el formulario TPesetas.setText(String.valueOf(pesetas_redondeadas)); } catch (NumberFormatException ex){ JOptionPane.showMessageDialog(rootPane, "Revisa el campo Euros"); } } private void BPesetasEurosMouseClicked(java.awt.event.MouseEvent evt) { float euros,pesetas; DecimalFormat formateador; String numero; try{ //Leo la información del campo Pesetas del formulario pesetas=Integer.parseInt(TPesetas.getText()); //Hago la conversión a euros y redondeo a dos decimales euros=pesetas/(float)166.386; formateador = new DecimalFormat("###.##"); numero=formateador.format(euros); //Hago esta conversión para que ponga un punto de separación de miles en lugar de una , numero=numero.replace(",","."); TEuros.setText(numero); } catch (NumberFormatException ex){ JOptionPane.showMessageDialog(rootPane, "Revisa el campo Pesetas"); } } private void BLimpiarMouseClicked(java.awt.event.MouseEvent evt) { //Pongo los dos cuadros de texto a cero TEuros.setText("0.00"); TPesetas.setText("0"); } } -->
No hay comentarios:
Publicar un comentario