ayuda por calculadora
Publicado por
monik (1 intervención) el 13/11/2009 22:12:17
como hago para hecer funcionar la multiplicacion y la division
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class ventanacalculadora implements ActionListener{
JFrame frame;
JPanel panelSuperior, panelInferior;
JButton bt1, bt2, bt3, bt4, bt5, bt6, bt7, bt8, bt9, bt0, btRT, btCE, btCL, btMas, btMenos,
btMul, btDiv, btIgual, btMN, btPunto;
JTextField area;
double suma_temporal,resta_temporal,multi_temporal,div_temporal,igualdad;
boolean operacion=false,pulsadigito=false;
public ventanacalculadora(){
areasuperior();
areainferior();
crearventana();
}
void areasuperior(){
panelSuperior = new JPanel ();
panelSuperior.setLayout(new FlowLayout());
area= new JTextField(20);
area.setHorizontalAlignment(JTextField.RIGHT);
area.setEditable(false);
panelSuperior.add(area);
}
void areainferior(){
panelInferior= new JPanel();
panelInferior.setLayout(new GridLayout(5,4,8,8));
bt1=new JButton("1");
bt2=new JButton("2");
bt3=new JButton("3");
bt4=new JButton("4");
bt5=new JButton("5");
bt6=new JButton("6");
bt7=new JButton("7");
bt8=new JButton("8");
bt9=new JButton("9");
bt0=new JButton("0");
btRT=new JButton("Rtc");
btCE=new JButton("CE");
btCL=new JButton("CL");
btMas=new JButton("+");
btMenos=new JButton("-");
btMul=new JButton("x");
btDiv=new JButton("/");
btIgual=new JButton("=");
btMN=new JButton("+/-");
btPunto=new JButton(".");
panelInferior.add(btRT);
panelInferior.add(btCE);
panelInferior.add(btCL);
panelInferior.add(btMN);
panelInferior.add(bt7);
panelInferior.add(bt8);
panelInferior.add(bt9);
panelInferior.add(btDiv);
panelInferior.add(bt4);
panelInferior.add(bt5);
panelInferior.add(bt6);
panelInferior.add(btMul);
panelInferior.add(bt1);
panelInferior.add(bt2);
panelInferior.add(bt3);
panelInferior.add(btMenos);
panelInferior.add(bt0);
panelInferior.add(btPunto);
panelInferior.add(btIgual);
panelInferior.add(btMas);
bt1.addActionListener(this);
bt2.addActionListener(this);
bt3.addActionListener(this);
bt4.addActionListener(this);
bt5.addActionListener(this);
bt6.addActionListener(this);
bt7.addActionListener(this);
bt8.addActionListener(this);
bt9.addActionListener(this);
bt0.addActionListener(this);
btRT.addActionListener(this);
btCE.addActionListener(this);
btCL.addActionListener(this);
btMas.addActionListener(this);
btMenos.addActionListener(this);
btMul.addActionListener(this);
btDiv.addActionListener(this);
btIgual.addActionListener(this);
btMN.addActionListener(this);
btPunto.addActionListener(this);
}
void crearventana(){
frame =new JFrame("Calculadora ");
frame.setLayout(new BoxLayout(frame.getContentPane(),BoxLayout.Y_AXIS));
frame.add(panelSuperior);
frame.add(panelInferior);
frame.setLocationRelativeTo(null);
frame.pack();
frame.setVisible(true);
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public double sumardosnum(){
String num1txt;
double num1=0d,resultado=0d;
num1txt= area.getText();
if (pulsadigito)
{
num1 = Float.parseFloat(num1txt);
}
else
{
num1=0d;
}
suma_temporal = suma_temporal + num1;
resultado = suma_temporal;
return resultado;
}
public double restardosnum(){
String num1txt;
double num1=0d,resultado=0d;
num1txt= area.getText();
if (pulsadigito)
{
num1 = Float.parseFloat(num1txt);
}
else
{
num1=0d;
}
resta_temporal = num1 - resta_temporal;
resultado = resta_temporal;
return resultado;
}
public double multiplicadosnum(){
String num1txt;
double num1=0d,resultado=0d;
num1txt= area.getText();
if (pulsadigito)
{
num1 = Float.parseFloat(num1txt);
}
else
{
num1=0d;
}
multi_temporal= multi_temporal *num1;
resultado = multi_temporal;
return resultado;
}
public double dividirdosnum(){
String num1txt;
double num1=0d,resultado=0d;
num1txt= area.getText();
if (pulsadigito)
{
num1 = Float.parseFloat(num1txt);
}
else
{
num1=0d;
}
div_temporal= div_temporal / num1;
resultado = div_temporal;
return resultado;
}
public double igualnums(){
String num1txt;
double num1=0d,resultado=0d;
num1txt= area.getText();
if (pulsadigito)
{
num1 = Float.parseFloat(num1txt);
}
else
{
}
igualdad = igualdad ;
resultado = igualdad;
return resultado;
}
public void actionPerformed(ActionEvent e) {
Object obj = e.getSource();
String cadena,cadenaCE;
double result;
int longitud_cadena;
if ( obj == bt1 )
{
if (operacion==false)
{
cadena=area.getText()+"1";
area.setText(cadena);
}
else if (operacion)
{
cadena="1";
area.setText(cadena);
operacion=false;
}
pulsadigito=true;
}
else if ( obj == bt2 )
{
if (operacion==false)
{
cadena=area.getText()+"2";
area.setText(cadena);
}
else if (operacion)
{
cadena="2";
area.setText(cadena);
operacion=false;
}
pulsadigito=true;
}
else if ( obj == bt3 )
{
if (operacion==false)
{
cadena=area.getText()+"3";
area.setText(cadena);
}
else if (operacion)
{
cadena="3";
area.setText(cadena);
operacion=false;
}
pulsadigito=true;
}
else if ( obj == bt4 )
{
if (operacion==false)
{
cadena=area.getText()+"4";
area.setText(cadena);
}
else if (operacion)
{
cadena="4";
area.setText(cadena);
operacion=false;
}
pulsadigito=true;
}
else if ( obj == bt5 )
{
if (operacion==false)
{
cadena=area.getText()+"5";
area.setText(cadena);
}
else if (operacion)
{
cadena="5";
area.setText(cadena);
operacion=false;
}
pulsadigito=true;
}
else if ( obj == bt6 )
{
if (operacion==false)
{
cadena=area.getText()+"6";
area.setText(cadena);
}
else if (operacion)
{
cadena="6";
area.setText(cadena);
operacion=false;
}
pulsadigito=true;
}
else if ( obj == bt7 )
{
if (operacion==false)
{
cadena=area.getText()+"7";
area.setText(cadena);
}
else if (operacion)
{
cadena="7";
area.setText(cadena);
operacion=false;
}
pulsadigito=true;
}
else if ( obj == bt8 )
{
if (operacion==false)
{
cadena=area.getText()+"8";
area.setText(cadena);
}
else if (operacion)
{
cadena="8";
area.setText(cadena);
operacion=false;
}
pulsadigito=true;
}
else if ( obj == bt9 )
{
if (operacion==false)
{
cadena=area.getText()+"9";
area.setText(cadena);
}
else if (operacion)
{
cadena="9";
area.setText(cadena);
operacion=false;
}
pulsadigito=true;
}
else if ( obj == bt0 )
{
if (operacion==false)
{
cadena=area.getText()+"0";
area.setText(cadena);
}
else if (operacion)
{
cadena="0";
area.setText(cadena);
operacion=false;
}
pulsadigito=true;
}
else if ( obj == btRT )
{
}
else if ( obj == btCE )
{
cadena=area.getText();
longitud_cadena=cadena.length();
if (longitud_cadena > 0)
{
cadena=cadena.substring(0, longitud_cadena-1);
area.setText(cadena);
}
}
else if ( obj == btCL )
{
cadena="";
suma_temporal=0d;
resta_temporal=0d;
multi_temporal=0d;
div_temporal=0d;
area.setText(cadena);
}
else if ( obj == btMas )
{
operacion=true;
result=sumardosnum();
area.setText("");
area.setText(String.valueOf(result));
pulsadigito=false;
}
else if ( obj == btMenos )
{
operacion=true;
result=restardosnum();
area.setText("-");
area.setText(String.valueOf(result));
pulsadigito=false;
}
else if ( obj == btMul )
{
operacion=true;
result=multiplicadosnum();
area.setText("");
area.setText(String.valueOf(result));
pulsadigito=false;
}
else if ( obj == btDiv )
{
operacion=true;
result=dividirdosnum();
area.setText("");
area.setText(String.valueOf(result));
pulsadigito=false;
}
else if ( obj == btIgual )
{
operacion=true;
result=igualnums();
area.setText("");
area.setText(String.valueOf(result));
pulsadigito=false;
}
else if ( obj == btMN )
{
cadena=area.getText();
if (cadena.startsWith("-"))
{
longitud_cadena=cadena.length();
cadena=cadena.substring(1, longitud_cadena);
area.setText(cadena);
}
else
{
cadena="-"+area.getText();
area.setText(cadena);
}
}
else if ( obj == btPunto )
{
}
}
public static void main(String arg[]) {
new ventanacalculadora();
}
}