Pues pude hacerlo al final pero no como queria, meti todo el codigo en el init, y en el menu en vez de llamar a la funcion ahi meti los calculos, aqui les dejo el codigo por si a alguien le interesa, basicamente es un menu que permite calcular area de un circulo, cuadrado y triangulo, y distancia velocidad y tiempo, nada super, todavia un par de cosas que retocar al quierer salir.
Código Java:
Ver originalimport java.awt.Graphics;
import javax.swing.JApplet;
import javax.swing.JOptionPane;
/**
* @author Familia
**/
public class applet
extends JApplet {
int eleccion;
double areaci;
double areacu;
double areatri;
double distancia;
double tiempo;
double velocidad;
@Override
public void init() {
menu = "";
menu = menu + "\n Ingrese una opcion\n";
menu = menu + "\n 1: Área circulo\n";
menu = menu + "\n 2: Área cuadrado\n";
menu = menu + "\n 3: Área Triangulo\n";
menu = menu + "\n 4: Distacia\n";
menu = menu + "\n 5:Tiempo\n";
menu = menu + "\n 6: Velocidad\n";
if (eleccion == 1){
double radio=0;
num1
= JOptionPane.
showInputDialog("Ingrese Radio del circulo"); radio
= Double.
parseDouble(num1
);
if (eleccion == 2){
double base;
double altura;
num1
= JOptionPane.
showInputDialog("Ingrese base del cuadrado"); num2
= JOptionPane.
showInputDialog("Ingrese altura del cuadrado"); base
= Double.
parseDouble(num1
); altura
= Double.
parseDouble(num2
); areacu = base*altura;}
if (eleccion == 3){
double base;
double altura;
num2
= JOptionPane.
showInputDialog("Ingrese la altura"); base
= Double.
parseDouble(num1
); altura
= Double.
parseDouble(num2
); areatri = ((base*altura)/2);}
if (eleccion == 4){
double velocidad1;
double tiempo1;
num1
= JOptionPane.
showInputDialog("Ingrese Velocidad"); velocidad1
= Double.
parseDouble(num1
); tiempo1
= Double.
parseDouble(num2
); distancia = velocidad1*tiempo1;}
if (eleccion == 5){
double distancia1;
double velocidad1;
num1
= JOptionPane.
showInputDialog("Ingrese Distancia"); num2
= JOptionPane.
showInputDialog("Ingrese Velocidad"); distancia1
= Double.
parseDouble(num1
); velocidad1
= Double.
parseDouble(num2
); tiempo = distancia1/velocidad1;}
if (eleccion == 6){
double distancia1=0;
double tiempo1=0;
double velocidad1=0;
num1
= JOptionPane.
showInputDialog("Ingrese Distancia"); distancia1
= Double.
parseDouble(num1
); tiempo1
= Double.
parseDouble(num2
); velocidad = distancia1/tiempo1;}
}
@Override
{
super.paint(g);
g.drawRect(15, 10, 270, 20);
if (eleccion == 1){
g.drawString("Area circulo es:" + areaci, 25, 25);
init();
super.repaint();}
if (eleccion == 2){
g.drawString("Area cuadrado es:" + areacu, 25, 25);
init();
super.repaint();}
if (eleccion == 3){
g.drawString("Area triangulo es:" + areatri, 25, 25);
init();
super.repaint();}
if (eleccion == 4){
g.drawString("La distancia es:" + distancia, 25, 25);
init();
super.repaint();}
if (eleccion == 5){
g.drawString("El tiempo es:" + tiempo, 25, 25);
init();
super.repaint();}
if (eleccion == 6){
g.drawString("La velocidad es:" + velocidad, 25, 25);
init();
super.repaint();}
}
}