Java - Agregar nuevas lineas a un applets

 
Vista:

Agregar nuevas lineas a un applets

Publicado por alan garcia (11 intervenciones) el 20/07/2010 16:03:32
Hola a todos, actualmente trabajo con netbeans 6.8. Estoy iniciando mis estudios en la construcciòn de applets, para ello utilizo el libro de Wu, C. T. (2008). PROGRAMACIÓN EN JAVA. McGraw-Hill, como referencia.

Mi problema consiste en que deseo modificar un applets que encontre en la red sobre el índice de masa corporal. Lo que deseo hacer es que una vez que el usuario introduzca tanto su altura como su peso, no sòlo la aplicación le devuelva su IMC sino también si éste se encuentra bajo peso, sobre peso o obeso. La aplicación es la siguiente:
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.text.DecimalFormat;

public class IMC extends Applet implements ActionListener {

private Label alturaEtiqueta, // etiqueta para alturaEntrada
pesoEtiqueta, // etiqueta para pesoEntrada
IMCEtiqueta, // etiqueta para mostrar el IMC
infrapeso; // indica bajo peso

private TextField alturaEntrada, // tomar la altura del usuario
pesoEntrada; // tomar el peso del usuario

private Button calcularBoton; // el usuario pulsa este botón

public IMC() {
// crear objetos
alturaEtiqueta = new Label("Su altura (en metros, p.e. 1.88):");
alturaEntrada = new TextField(5);

pesoEtiqueta = new Label(" Su peso (en kilogramos, p.e. 180.5):");
pesoEntrada = new TextField(5);

calcularBoton = new Button(" Calcula el IMC ");

IMCEtiqueta = new Label("Este es su IMC:");
infrapeso = new Label("Usted se encuentra en delgadez extrema.");

// añade objetos al applet
// el orden de colocación es importante
add(alturaEtiqueta);
add(alturaEntrada);

add(pesoEtiqueta);
add(pesoEntrada);
//lineaIngresada.setBorder(BorderFactory.createLineBorder(Color.red));
// calcularBoton.setBorder(BorderFactory.createEtchedBorder(Color.orange,
// Color.yellow));
add(calcularBoton);

add(IMCEtiqueta);

calcularBoton.addActionListener(this);
} // cierre del constructor IMC().

// Obtiene datos de pesoEntrada y alturaEntrada y muestra el IMC.

public void actionPerformed(ActionEvent evento) {
DecimalFormat digitos = new DecimalFormat("0.00");
String alturaCadena, pesoCadena, resultado, bajopeso;
double peso, altura;
double imc;

// obtener valores de entrada
alturaCadena = alturaEntrada.getText();
pesoCadena = pesoEntrada.getText();

// convertir la entrada a números
altura = convertirAdouble(alturaCadena);
peso = convertirAdouble(pesoCadena);

// calcular el IMC
imc = calcularIMC(altura, peso);

// mostrar el resultado
resultado = "Su IMC es: " +digitos.format(imc);
IMCEtiqueta.setText(resultado);

if(imc <= 16.99) {
bajopeso = "Bajo peso";
add(infrapeso);
infrapeso.setText(bajopeso);

}
}

private double convertirAdouble(String cad) {
Double objetoDouble = new Double(cad);
return objetoDouble.doubleValue();
}

private double calcularIMC(double altura, double peso) {
double imc;
imc = peso/Math.pow(altura,2);
return imc;
}
}
***********
En la única instrucción IF que presenta la aplicación que existe es lo que se me ha ocurrido que debe de ir, pero lamentablemente no presenta la respuesta que es de esperar. ¿Alguién me podría ayudar en ello por favor?

Saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder