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