Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/07/2003, 10:22
Avatar de RsOfT
RsOfT
 
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 10 meses
Puntos: 7
Boton que no responde

Hola Muchachos, estoy haciendo una pequeña calculadora, y todo funciona menos un boton, ese boton es el boton de PORCIENTO "%", no importa donde lo pongo no responde al evento, que puede estar pasando?
Aqui les dejo el código completo
Código:
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;

public class Calc extends Applet implements ActionListener
{
    private Button cero, uno, dos, tres, cuatro, cinco, seis, siete, ocho, nueve;
    private Button porc, mult, sum, resta, div, mc, mr, mmas, ce, punto, igual, signo;
    private TextField entrada;
    private double men, Ope1, Ope2, Total;
    private char Ope;
    private Panel board;
    private boolean OpePresionado;
    
    public void init(){
        men = 0;
        OpePresionado = false;
        
        uno = new Button("1");
        dos = new Button("2");
        tres = new Button("3");
        cuatro = new Button("4");
        cinco = new Button("5");
        seis = new Button("6");
        siete = new Button("7");
        ocho = new Button("8");
        nueve = new Button("9");
        cero = new Button("0");
        
        porc = new Button("%");
        mult = new Button("*");
        sum = new Button("+");
        resta = new Button("-");
        div = new Button("/");
        mc = new Button("MC");
        mr = new Button("MR");
        mmas = new Button("M+");
        ce = new Button("CE");
        punto = new Button(".");
        igual = new Button("=");
        signo = new Button("+/-");
        
        entrada = new TextField(20);
        
        setLayout(new BorderLayout());
        add("North",entrada);
        
        board = new Panel();
        board.setLayout(new GridLayout(5,5,6,6));
        
        porc.addActionListener(this);
        board.add(porc);
        
        siete.addActionListener(this);
        board.add(siete);
        
        ocho.addActionListener(this);
        board.add(ocho);

        nueve.addActionListener(this);
        board.add(nueve);

        signo.addActionListener(this);
        board.add(signo);

        mc.addActionListener(this);
        board.add(mc);

        cuatro.addActionListener(this);
        board.add(cuatro);

        cinco.addActionListener(this);
        board.add(cinco);

        seis.addActionListener(this);
        board.add(seis);

        div.addActionListener(this);
        board.add(div);

        mr.addActionListener(this);
        board.add(mr);

        uno.addActionListener(this);
        board.add(uno);

        dos.addActionListener(this);
        board.add(dos);

        tres.addActionListener(this);
        board.add(tres);

        mult.addActionListener(this);
        board.add(mult);

        mmas.addActionListener(this);
        board.add(mmas);

        cero.addActionListener(this);
        board.add(cero);

        punto.addActionListener(this);
        board.add(punto);

        igual.addActionListener(this);
        board.add(igual);

        resta.addActionListener(this);
        board.add(resta);

        ce.addActionListener(this);
        board.add(ce);

        sum.addActionListener(this);
        board.add(sum);
        
        add("Center",board);
        resize(200,200);
    }
    
    public void actionPerformed(ActionEvent ev)
    {
        try{
            Object obj = ev.getSource();
            if(obj==uno || obj==dos || obj==tres || obj==cuatro || obj==cinco || obj==seis || obj==siete || obj==ocho || obj==nueve || obj==cero || obj==punto){
                if (OpePresionado == false)
                    entrada.setText(entrada.getText()+ev.getActionCommand());
                else{
                    entrada.setText("");
                    entrada.setText(entrada.getText()+ev.getActionCommand());
                    OpePresionado = false;
                }
            }
            else{
                if (obj == ce)
                    entrada.setText("");
                else
                    if (obj == mc)
                        men = 0.0;
                    else
                        if (obj == mr)
                            entrada.setText(Double.toString(men));
                        else
                            if (obj == mmas)
                                men += Double.parseDouble(entrada.getText());
                            else
                                if (obj == porc)
                                    {} //Poner Codigo
                                else
                                    if (obj == sum){
                                        OpePresionado = true;
                                        Ope1 = Double.parseDouble(entrada.getText());
                                        Ope = '+';
                                    }
                                    else
                                        if (obj == resta){
                                            OpePresionado = true;
                                            Ope1 = Double.parseDouble(entrada.getText());
                                            Ope = '-';
                                        }
                                        else
                                            if (obj == mult){
                                                OpePresionado = true;
                                                Ope1 = Double.parseDouble(entrada.getText());
                                                Ope = '*';
                                            }
                                            else
                                                if (obj == div){
                                                    OpePresionado = true;
                                                    Ope1 = Double.parseDouble(entrada.getText());
                                                    Ope = '/';
                                                }
                                                else
                                                    if (obj == igual){
                                                        Ope2 = Double.parseDouble(entrada.getText());
                                                        OpePresionado = true;
                                                        
                                                        switch(Ope){
                                                            case '+':
                                                                entrada.setText(Double.toString(Ope1+Ope2));
                                                                Ope1 = 0.0;
                                                                Ope2 = 0.0;
                                                                Ope  = ' ';
                                                                break;
                                                            case '-':
                                                                entrada.setText(Double.toString(Ope1-Ope2));
                                                                Ope1 = 0.0;
                                                                Ope2 = 0.0;
                                                                Ope  = ' ';
                                                                break;
                                                            case '*':
                                                                entrada.setText(Double.toString(Ope1*Ope2));
                                                                Ope1 = 0.0;
                                                                Ope2 = 0.0;
                                                                Ope  = ' ';
                                                                break;
                                                            case '/':
                                                                entrada.setText(Double.toString(Ope1/Ope2));
                                                                Ope1 = 0.0;
                                                                Ope2 = 0.0;
                                                                Ope  = ' ';
                                                                break;
                                                        }
                                                    }
                                                    else
                                                        if (obj == signo)
                                                            entrada.setText(Double.toString(Double.parseDouble(entrada.getText())*(-1)));
                                                        else
                                                            if (obj == porc)
                                                                entrada.setText(Double.toString(Double.parseDouble(entrada.getText())/100));
            }
        }
        
        catch(Exception e){
            entrada.setText("Error...");
        }

    }
}
Saludos,
Joe Peña
__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--