Foros del Web » Programación para mayores de 30 ;) » Java »

Ayuda con programa menu + calculadora+resultado en jlabel

Estas en el tema de Ayuda con programa menu + calculadora+resultado en jlabel en el foro de Java en Foros del Web. Miren soy alumno de ing en informatica y este semestre me hacen java por lo ke me idieron de tarea un programa ke tenga: 1.- ...
  #1 (permalink)  
Antiguo 10/09/2008, 13:28
 
Fecha de Ingreso: septiembre-2008
Mensajes: 3
Antigüedad: 15 años, 7 meses
Puntos: 0
Ayuda con programa menu + calculadora+resultado en jlabel

Miren soy alumno de ing en informatica y este semestre me hacen java por lo ke me idieron de tarea un programa ke tenga:

1.- Construya un programa que contenga una ventana y que permita:
•Realizar las cuatro operaciones básicas de matemáticas (suma, resta, multiplicar y restas).
•Las 4 opciones deben ser dadas, a través de la selección en un menú.
•Los números deben ser seleccionados por botones, dentro de la ventana.
•Resultado, debe ser entregado por un label.

ya tengo el menu ke seria este:

Código:
package menu;
import java.io.*;
import javax.swing.JOptionPane;
public class Main
        
{
   public static void main (String[] args) throws IOException
   {
String menu;

BufferedReader br=new BufferedReader (new InputStreamReader (System.in));

  
  menu=JOptionPane.showInputDialog("      Menu \n  1. Sumar\n  2. Restar\n  3. Multiplicar\n  4. Dividir\n  Ahora Ingrese su Opcion");
  
    
   }  
}
y tengo uno de una calculadora ke encontre me ke seria re util ke seria este:
Código:
package calculadora1;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Main extends JFrame implements ActionListener  {

    boolean nuevo = true;
    float   resultado_total = 0.0f;
    String  ultimo = "=";
    Label pantalla = null;
    Button b;
    JPanel panel, panel2;

    public Main() {
        setTitle("Calculadora");

        setSize(200, 200);

        Pantalla();

        Teclado();
   }

   private void Pantalla() {

        panel = new JPanel();
        panel.setLayout(new GridLayout(1, 1));
        pantalla = new Label();

        pantalla.setText("0");
        pantalla.setAlignment(Label.RIGHT);
        pantalla.setForeground(Color.black);
        pantalla.setBackground(Color.white);

        panel.add(pantalla);
        add("North", panel);
   }

    public void Teclado () {
        panel2 = new JPanel();
        panel2.setLayout(new GridLayout(4, 4));

        addBoton("7", Color.blue);
        addBoton("8", Color.blue);
        addBoton("9", Color.blue);
        addBoton("/", Color.red);
        addBoton("C", Color.red);

        addBoton("4", Color.blue);
        addBoton("5", Color.blue);
        addBoton("6", Color.blue);
        addBoton("*", Color.red);
        addBoton("sqrt", Color.red);

        addBoton("1", Color.blue);
        addBoton("2", Color.blue);
        addBoton("3", Color.blue);
        addBoton("-", Color.red);
        addBoton("AC", Color.red);

        addBoton("0", Color.blue);
        addBoton("+/-", Color.red);
        addBoton(".", Color.red);
        addBoton("+", Color.red);
        addBoton("=", Color.red);

        add("Center", panel2);
  }

  private void addBoton(String n, Color color) {
       b = new Button(n);

       b.setForeground(color);

       panel2.add(b);

       b.addActionListener( this );
  }


  public void actionPerformed(ActionEvent event) {

        String digit   = event.getActionCommand();
        String s     = pantalla.getText();

        // Logic based in a source of Santiago Pavón

        float  valor = 0;
        try {
            valor = new Float(s).floatValue();
        } catch (Exception e) {
            if (!digit.equals("C")) return;
        }

        if ("0123456789".indexOf(digit) != -1) {

            if (nuevo) {
                nuevo = false;
                pantalla.setText(digit);
            } else {
                pantalla.setText(s + digit);
            }

        } else if (digit.equals(".")) {

            if (nuevo) {
                nuevo = false;
                pantalla.setText("0.");
            } else {
                pantalla.setText(s + digit);
            }

        } else if (digit.equals("sqrt")) {

            valor = (float)Math.sqrt(valor);
            pantalla.setText(String.valueOf(valor));
            nuevo = true;

        } else if (digit.equals("+/-")) {

            valor = -valor;
            pantalla.setText(String.valueOf(valor));
            nuevo = true;

        } else if (digit.equals("C")) {

            resultado_total  = 0;
            pantalla.setText("0");
            ultimo = "=";
            nuevo = true;

        } else {

            char c = ultimo.charAt(0);

            switch (c) {
                case '=': resultado_total  = valor; break;
                case '+': resultado_total += valor; break;
                case '-': resultado_total -= valor; break;
                case '*': resultado_total *= valor; break;
                case '/': resultado_total /= valor; break;
            }
      ultimo = digit;
      nuevo = true;
      pantalla.setText(String.valueOf(resultado_total));
  }
}


public static void main(String[] args) {
  Main cal = new Main();
  cal.show();
}
}
Bueno la ayuda ke necesito eske si alguien me puede ayudar en unir ambos osea
que al ingresar una opcion del menu me salga la calculadora y si es posible ke el resultado de la operacion salga en un jlabel pero si no es posible no importa

ojala ke me puedan ayudar ya que necesito terminarlo a mas tardar el 30 de sep 2008, bueno e tratado pero como no tengo muxos conocimientos en java no me ha resultado, ojala me ayuden porfa gracias de antemano
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:36.