Calculadora en JCreator con Applet – Java

Este fin de semana tuve que entregar como parte de mi evaluación de la materia una calculadora en Java, y esto fue el resultado:

Descarga Calculadora.rar

/**
* @(#)Calculadora.java
*
*
* @Jesús Manuel González Gómez
* @Calculadora version 1.00 2007/11/10
*/

public class Calculadora extends Applet
{
public void init()
{
Interfaz();
}
public void Interfaz()
{
//Se declaran toda la parte de interfaz.
lab_1 = new Label ();
lab_1.setBounds(20,60,260,30);
lab_1.setFont(new Font(“serif”, Font.BOLD, 20));
lab_1.setBackground(Color.lightGray);
lab_2 = new Label (“** Calculadora **”);
lab_2.setBounds(70,30,160,20);
lab_2.setFont(new Font(“serif”, Font.BOLD, 20));
lab_2.setBackground(Color.lightGray);
lab_2.setForeground(Color.blue);
tex_1 = new TextField ();
tex_1.setBounds(20,100,260,30);
tex_1.setFont(new Font(“serif”, Font.BOLD, 20));
tex_1.setEditable(false);
but_0 = new Button(“0″);
but_0.setBounds(20,290,92,40);
but_0.setFont(new Font(“serif”, Font.BOLD, 20));
but_0.addActionListener (new ActionListener()
{
public void actionPerformed (ActionEvent e)
{
tex_1.setText(tex_1.getText()+”0″);
}
});
but_1 = new Button(“1″);
but_1.setBounds(20,150,46,46);
but_1.setFont(new Font(“serif”, Font.BOLD, 20));
but_1.addActionListener (new ActionListener()
{
public void actionPerformed (ActionEvent e)
{
tex_1.setText(tex_1.getText()+”1″);
}
});
but_2 = new Button(“2″);
but_2.setBounds(66,150,46,46);
but_2.setFont(new Font(“serif”, Font.BOLD, 20));
but_2.addActionListener (new ActionListener()
{
public void actionPerformed (ActionEvent e)
{
tex_1.setText(tex_1.getText()+”2″);
}
});
but_3 = new Button(“3″);
but_3.setBounds(112,150,46,46);
but_3.setFont(new Font(“serif”, Font.BOLD, 20));
but_3.addActionListener (new ActionListener()
{
public void actionPerformed (ActionEvent e)
{
tex_1.setText(tex_1.getText()+”3″);
}
});
but_4 = new Button(“4″);
but_4.setBounds(20,196,46,46);
but_4.setFont(new Font(“serif”, Font.BOLD, 20));
but_4.addActionListener (new ActionListener()
{
public void actionPerformed (ActionEvent e)
{
tex_1.setText(tex_1.getText()+”4″);
}
});
but_5 = new Button(“5″);
but_5.setBounds(66,196,46,46);
but_5.setFont(new Font(“serif”, Font.BOLD, 20));
but_5.addActionListener (new ActionListener()
{
public void actionPerformed (ActionEvent e)
{
tex_1.setText(tex_1.getText()+”5″);
}
});
but_6 = new Button(“6″);
but_6.setBounds(112,196,46,46);
but_6.setFont(new Font(“serif”, Font.BOLD, 20));
but_6.addActionListener (new ActionListener()
{
public void actionPerformed (ActionEvent e)
{
tex_1.setText(tex_1.getText()+”6″);
}
});
but_7 = new Button(“7″);
but_7.setBounds(20,242,46,46);
but_7.setFont(new Font(“serif”, Font.BOLD, 20));
but_7.addActionListener (new ActionListener()
{
public void actionPerformed (ActionEvent e)
{
tex_1.setText(tex_1.getText()+”7″);
}
});
but_8 = new Button(“8″);
but_8.setBounds(66,242,46,46);
but_8.setFont(new Font(“serif”, Font.BOLD, 20));
but_8.addActionListener (new ActionListener()
{
public void actionPerformed (ActionEvent e)
{
tex_1.setText(tex_1.getText()+”8″);
}
});
but_9 = new Button(“9″);
but_9.setBounds(112,242,46,46);
but_9.setFont(new Font(“serif”, Font.BOLD, 20));
but_9.addActionListener (new ActionListener()
{
public void actionPerformed (ActionEvent e)
{
tex_1.setText(tex_1.getText()+”9″);
}
});
but_pun = new Button(“,”);
but_pun.setBounds(112,290,46,40);
but_pun.setFont(new Font(“serif”, Font.BOLD, 20));
but_pun.addActionListener (new ActionListener()
{
public void actionPerformed (ActionEvent e)
{
tex_1.setText(tex_1.getText()+”.”);
}
});
but_mas = new Button(“+”);
but_mas.setBounds(188,242,46,92);
but_mas.setFont(new Font(“serif”, Font.BOLD, 20));
but_mas.addActionListener (new ActionListener()
{
public void actionPerformed (ActionEvent e)
{
mas();
}
});
but_men = new Button(“-”);
but_men.setBounds(234,288,46,46);
but_men.setFont(new Font(“serif”, Font.BOLD, 20));
but_men.addActionListener (new ActionListener()
{
public void actionPerformed (ActionEvent e)
{
menos();
}
});
but_por = new Button(“*”);
but_por.setBounds(188,196,46,46);
but_por.setFont(new Font(“serif”, Font.BOLD, 20));
but_por.addActionListener (new ActionListener()
{
public void actionPerformed (ActionEvent e)
{
por();
}
});
but_div = new Button(“/”);
but_div.setBounds(234,196,46,46);
but_div.setFont(new Font(“serif”, Font.BOLD, 20));
but_div.addActionListener (new ActionListener()
{
public void actionPerformed (ActionEvent e)
{
divide();
}
});
but_mod = new Button(“mem”); //Merodo para guardar en memoria
but_mod.setBounds(234,242,46,46);
but_mod.setFont(new Font(“serif”, Font.BOLD, 20));
but_mod.addActionListener (new ActionListener()
{
public void actionPerformed (ActionEvent e)
{
mod();
}
});
but_igu = new Button(“=”);
but_igu.setBounds(75,345,150,55);
but_igu.setFont(new Font(“serif”, Font.BOLD, 20));
but_igu.addActionListener (new ActionListener()
{
public void actionPerformed (ActionEvent e)
{
resultado();
}
});
but_mm = new Button(“+/-”);
but_mm.setBounds(234,150,46,42);
but_mm.setFont(new Font(“serif”, Font.BOLD, 20));
but_mm.addActionListener (new ActionListener()
{
public void actionPerformed (ActionEvent e)
{
mm();
}
});
but_bor = new Button(“C A”);
but_bor.setBounds(188,150,46,42);
but_bor.setFont(new Font(“serif”, Font.BOLD, 20));
but_bor.addActionListener (new ActionListener()
{
public void actionPerformed (ActionEvent e)
{
borrar();
}
});

//Se añaden los objetos
add(lab_2);
add(lab_1);
add(tex_1);
add(but_1); add(but_2); add(but_3);
add(but_4); add(but_5); add(but_6);
add(but_7); add(but_8); add(but_9);
add(but_0) ; add(but_pun);
add(but_por); add(but_div);
add(but_mas); add(but_mod);
add(but_men);
add(but_igu);
add(but_bor); add(but_mm);
//Color de fondo
setBackground(Color.white);
setLayout(null);

}

public void mm() //Metodo para cambial el signo alas cantidades
{
double num;
num=Double.parseDouble(tex_1.getText());
num=num*(-1);
tex_1.setText(Double.toString(num));
}

public void mas() //Metodo para sumar
{
ope = ‘+’;
//resultado();
mat[0]=Double.parseDouble(tex_1.getText());
lab_1.setText(tex_1.getText()+ope);
tex_1.setText(“”);
}

public void menos() //Metodo para restar
{
ope = ‘-’;
mat[0]=Double.parseDouble(tex_1.getText());
lab_1.setText(tex_1.getText()+” – “);
tex_1.setText(“”);
}

public void por() //Metodo para Multiplicar
{
ope = ‘*’;
mat[0]=Double.parseDouble(tex_1.getText());
lab_1.setText(tex_1.getText()+” * “);
tex_1.setText(“”);

}

public void divide() //Metodo para Dividir
{
ope = ‘/’;
mat[0]=Double.parseDouble(tex_1.getText());
lab_1.setText(tex_1.getText()+” / “);
tex_1.setText(“”);
}

public void mod() //Metodo para guardar en memoria
{
ope = ‘m’;
mat[0]=Double.parseDouble(tex_1.getText());
lab_1.setText(tex_1.getText()+” mod “);
tex_1.setText(“”);
}

public void borrar() //Borran cantidad
{
mat[0]=mat[1]=mat[2]=0;
lab_1.setText(“No Hay Operacion…”);
tex_1.setText(“”);
ope=’0′;
}

public void resultado() //Mostrar el resultado
{

if (tex_1.getText().equals(“”))
{
mat[1]=0;
}
else
{
mat[1]=Double.parseDouble(tex_1.getText());
lab_1.setText(Double.toString(mat[0])+ope+Double.toString(mat[1]));
switch (ope)
{
case ‘+’:
mat[2]=mat[0]+mat[1];
tex_1.setText(Double.toString(mat[2]));
break;
case ‘-’:
mat[2]=mat[0]-mat[1];
tex_1.setText(Double.toString(mat[2]));
break;
case ‘*’:
mat[2]=mat[0]*mat[1];
tex_1.setText(Double.toString(mat[2]));
break;
case ‘/’:
mat[2]=mat[0]/mat[1];
tex_1.setText(Double.toString(mat[2]));
break;
case ‘m’:
mat[2]=mat[0]%mat[1];
tex_1.setText(Double.toString(mat[2]));
break;
}
mat[0]=mat[2];
mat[1]=0;
}
}

TextField tex_1;
Label lab_1,lab_2;
Button but_0,but_1,but_2,but_3,but_4,but_5,but_6,but_7,but_8,but_9,but_mas,but_men,but_por,but_div,but_mod,but_igu,but_bor,but_pun,but_mm;
double[] mat = new double[]{0,0,0};
char ope=’0′;
}

8 comentarios

  1. Tu codigo esta incompleto y defectuoso,
    se te paso de largo suponer el tratamiento de excepciones

  2. esta bueno, graicas, me ayudas de mucho. pero yo estoy haciendo la calculadora de otra manera… me gustaria saber como hago para concatar un numero con otro osea solo la calculadora me marca 11 y si pongo suma se sumara 1+1 pues yo quiero poner 11 y el programa sepa q es un numero de dos valores… sera de gran ayuda si me dices

  3. disculpeme pero la estructura es muy popco entendible

  4. hola, oye gracias me has dado una idea para crear uno pero ste sera como un login y pass, como loq tiene movistar en el envio de mensaje

  5. necesito saber como crear un applet que pase de grados centigrados a farenheit

  6. yo nececito algo del applet para matematicas y como abrirlo

  7. Tu codigo no funciona para nada, no puedo copiar…jeje

  8. lo del 11, yo creo que no es dificil…. con que devidas el numero entre 10, guardando la solucion como primer termino y el resto, como segundo.

Escribe un comentario