Autor Tema: Ambiente grafico en Java: crear una calculadora con interfaz visual operaciones  (Leído 3672 veces)

fst091

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 8
    • Ver Perfil
Hola compañeros, estoy empezando en este tema. El maestro me dejó como tarea crear una calculadora en JAVA GUI. Seguí exactamente los pasos que nos dio, pero al final no se logra mostrar el resultado, y también tengo problemas en borrar en el botón de borrar un numero a la vez(lo nombre btnClear) ¿Alguien podría ayudarme a terminar el programa?, de antemano gracias

Código: [Seleccionar]
package Parte_Final;


public class Calculadora extends javax.swing.JFrame {
  int bandera_punto ;
  double total1;
  double total2;
  char operador_mat;
   
    public Calculadora() {
       
        initComponents();
       
    }

   
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                         
    private void initComponents() {

        btnCero = new javax.swing.JButton();
        btnUno = new javax.swing.JButton();
        btnDos = new javax.swing.JButton();
        btnTres = new javax.swing.JButton();
        btnCuatro = new javax.swing.JButton();
        btnCinco = new javax.swing.JButton();
        btnSeis = new javax.swing.JButton();
        btnSiete = new javax.swing.JButton();
        btnOcho = new javax.swing.JButton();
        btnNueve = new javax.swing.JButton();
        btnPunto = new javax.swing.JButton();
        btnDivision = new javax.swing.JButton();
        btnMultiplicacion = new javax.swing.JButton();
        btnResta = new javax.swing.JButton();
        btnSuma = new javax.swing.JButton();
        btnClear = new javax.swing.JButton();
        btnClear2 = new javax.swing.JButton();
        btnIgualA = new javax.swing.JButton();
        jLabel1 = new javax.swing.JLabel();
        Resultado = new javax.swing.JTextField();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle(" Calculadora de Java");
        setBackground(new java.awt.Color(204, 204, 204));
        setMinimumSize(new java.awt.Dimension(315, 370));
        getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

        btnCero.setBackground(new java.awt.Color(153, 153, 153));
        btnCero.setText("0");
        btnCero.setActionCommand("0");
        btnCero.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnCeroActionPerformed(evt);
            }
        });
        getContentPane().add(btnCero, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 200, 90, -1));

        btnUno.setBackground(new java.awt.Color(153, 153, 153));
        btnUno.setText("1");
        btnUno.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnUnoActionPerformed(evt);
            }
        });
        getContentPane().add(btnUno, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 170, -1, -1));

        btnDos.setBackground(new java.awt.Color(153, 153, 153));
        btnDos.setText("2");
        btnDos.setActionCommand("2");
        btnDos.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnDosActionPerformed(evt);
            }
        });
        getContentPane().add(btnDos, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 170, -1, -1));

        btnTres.setBackground(new java.awt.Color(153, 153, 153));
        btnTres.setText("3");
        btnTres.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnTresActionPerformed(evt);
            }
        });
        getContentPane().add(btnTres, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 170, -1, -1));

        btnCuatro.setBackground(new java.awt.Color(153, 153, 153));
        btnCuatro.setText("4");
        btnCuatro.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnCuatroActionPerformed(evt);
            }
        });
        getContentPane().add(btnCuatro, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 140, -1, -1));

        btnCinco.setBackground(new java.awt.Color(153, 153, 153));
        btnCinco.setText("5");
        btnCinco.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnCincoActionPerformed(evt);
            }
        });
        getContentPane().add(btnCinco, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 140, -1, -1));

        btnSeis.setBackground(new java.awt.Color(153, 153, 153));
        btnSeis.setText("6");
        btnSeis.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnSeisActionPerformed(evt);
            }
        });
        getContentPane().add(btnSeis, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 140, -1, -1));

        btnSiete.setBackground(new java.awt.Color(153, 153, 153));
        btnSiete.setText("7");
        btnSiete.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnSieteActionPerformed(evt);
            }
        });
        getContentPane().add(btnSiete, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 110, -1, -1));

        btnOcho.setBackground(new java.awt.Color(153, 153, 153));
        btnOcho.setText("8");
        btnOcho.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnOchoActionPerformed(evt);
            }
        });
        getContentPane().add(btnOcho, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 110, -1, -1));

        btnNueve.setBackground(new java.awt.Color(153, 153, 153));
        btnNueve.setText("9");
        btnNueve.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnNueveActionPerformed(evt);
            }
        });
        getContentPane().add(btnNueve, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 110, -1, -1));

        btnPunto.setBackground(new java.awt.Color(153, 153, 153));
        btnPunto.setText(".");
        btnPunto.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnPuntoActionPerformed(evt);
            }
        });
        getContentPane().add(btnPunto, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 200, 40, -1));

        btnDivision.setBackground(new java.awt.Color(153, 153, 153));
        btnDivision.setText("/");
        btnDivision.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnDivisionActionPerformed(evt);
            }
        });
        getContentPane().add(btnDivision, new org.netbeans.lib.awtextra.AbsoluteConstraints(170, 110, 50, -1));

        btnMultiplicacion.setBackground(new java.awt.Color(153, 153, 153));
        btnMultiplicacion.setText("*");
        btnMultiplicacion.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnMultiplicacionActionPerformed(evt);
            }
        });
        getContentPane().add(btnMultiplicacion, new org.netbeans.lib.awtextra.AbsoluteConstraints(170, 140, 50, -1));

        btnResta.setBackground(new java.awt.Color(153, 153, 153));
        btnResta.setText("-");
        btnResta.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnRestaActionPerformed(evt);
            }
        });
        getContentPane().add(btnResta, new org.netbeans.lib.awtextra.AbsoluteConstraints(170, 170, 50, -1));

        btnSuma.setBackground(new java.awt.Color(153, 153, 153));
        btnSuma.setText("+");
        btnSuma.setIconTextGap(3);
        btnSuma.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnSumaActionPerformed(evt);
            }
        });
        getContentPane().add(btnSuma, new org.netbeans.lib.awtextra.AbsoluteConstraints(170, 200, 50, -1));

        btnClear.setBackground(new java.awt.Color(153, 153, 153));
        btnClear.setText("C");
        btnClear.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnClearActionPerformed(evt);
            }
        });
        getContentPane().add(btnClear, new org.netbeans.lib.awtextra.AbsoluteConstraints(230, 110, 50, -1));

        btnClear2.setBackground(new java.awt.Color(153, 153, 153));
        btnClear2.setText("CE");
        btnClear2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnClear2ActionPerformed(evt);
            }
        });
        getContentPane().add(btnClear2, new org.netbeans.lib.awtextra.AbsoluteConstraints(230, 140, 50, -1));

        btnIgualA.setBackground(new java.awt.Color(153, 153, 153));
        btnIgualA.setText("=");
        btnIgualA.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnIgualAActionPerformed(evt);
            }
        });
        getContentPane().add(btnIgualA, new org.netbeans.lib.awtextra.AbsoluteConstraints(230, 170, 50, 60));

        jLabel1.setBackground(new java.awt.Color(0, 51, 204));
        jLabel1.setOpaque(true);
        getContentPane().add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 100, 280, 200));

        Resultado.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                ResultadoActionPerformed(evt);
            }
        });
        getContentPane().add(Resultado, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 50, 250, 30));

        pack();
    }// </editor-fold>                       

    private void btnDosActionPerformed(java.awt.event.ActionEvent evt) {                                       
        String btnDosTexto = Resultado.getText()+btnDos.getText();
        Resultado.setText(btnDosTexto);
    }                                     

    private void btnCeroActionPerformed(java.awt.event.ActionEvent evt) {                                       
     String btnCeroTexto = Resultado.getText()+btnCero.getText();
        Resultado.setText(btnCeroTexto);
    }                                       

    private void btnUnoActionPerformed(java.awt.event.ActionEvent evt) {                                       
        String btnUnoTexto = Resultado.getText()+btnUno.getText();
        Resultado.setText(btnUnoTexto);
    }                                     

    private void btnTresActionPerformed(java.awt.event.ActionEvent evt) {                                       
        String btnTresTexto = Resultado.getText()+btnTres.getText();
        Resultado.setText(btnTresTexto);
    }                                       

    private void btnCuatroActionPerformed(java.awt.event.ActionEvent evt) {                                         
       String btnCuatroTexto = Resultado.getText()+btnCuatro.getText();
        Resultado.setText(btnCuatroTexto);
    }                                         

    private void btnSeisActionPerformed(java.awt.event.ActionEvent evt) {                                       
       String btnSeisTexto = Resultado.getText()+btnSeis.getText();
        Resultado.setText(btnSeisTexto);
    }                                       

    private void btnOchoActionPerformed(java.awt.event.ActionEvent evt) {                                       
       String btnOchoTexto = Resultado.getText()+btnOcho.getText();
        Resultado.setText(btnOchoTexto);
    }                                       

    private void btnSumaActionPerformed(java.awt.event.ActionEvent evt) {                                       
      String texto_btn = btnSuma.getText();
        getOperador(texto_btn);
    }                                       

    private void btnRestaActionPerformed(java.awt.event.ActionEvent evt) {                                         
        String texto_btn = btnResta.getText();
        getOperador(texto_btn);
    }                                       

    private void btnClear2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
       Resultado.setText("");
       bandera_punto=0;
    }                                         

    private void ResultadoActionPerformed(java.awt.event.ActionEvent evt) {                                         
        Resultado.setText(Double.toString(total2));
        total1=0;
        bandera_punto=0;
    }                                         

    private void btnIgualAActionPerformed(java.awt.event.ActionEvent evt) {                                         
     
       
        switch (operador_mat){
          case '+':
              total2 = total1 + Double.parseDouble(Resultado.getText());
           
              break;
          case '-':
              total2 = total1 - Double.parseDouble(Resultado.getText());
             
              break;
          case '*':
              total2 = total1 * Double.parseDouble(Resultado.getText());
           
              break;
          case '/':
              total2 = total1 / Double.parseDouble(Resultado.getText());
             
              break;
      }
    }                                         

    private void btnMultiplicacionActionPerformed(java.awt.event.ActionEvent evt) {                                                 
        String texto_btn = btnMultiplicacion.getText();
        getOperador(texto_btn);
    }                                                 

    private void btnSieteActionPerformed(java.awt.event.ActionEvent evt) {                                         
        String btnSieteTexto = Resultado.getText()+ btnSiete.getText();
        Resultado.setText(btnSieteTexto);   
       
    }                                       

    private void btnCincoActionPerformed(java.awt.event.ActionEvent evt) {                                         
      String btnCincoTexto = Resultado.getText()+btnCinco.getText();
        Resultado.setText(btnCincoTexto);
    }                                       

    private void btnNueveActionPerformed(java.awt.event.ActionEvent evt) {                                         
        String btnNueveTexto = Resultado.getText()+btnNueve.getText();
        Resultado.setText(btnNueveTexto);
    }                                       

    private void btnPuntoActionPerformed(java.awt.event.ActionEvent evt) {                                         
     
        if (bandera_punto == 0){
         
        String btnPuntoTexto = Resultado.getText()+btnPunto.getText();
        btnPunto.getText();
        Resultado.setText(btnPuntoTexto);
        bandera_punto=1;
        }
    }                                       

    private void btnDivisionActionPerformed(java.awt.event.ActionEvent evt) {                                           
        String texto_btn = btnDivision.getText();
        getOperador(texto_btn);
       
       
    }                                           
        private void getOperador(String btnTexto) {
       operador_mat = btnTexto.charAt(0);
       total1 = total1 + Double.parseDouble(Resultado.getText());
       Resultado.setText("");
       bandera_punto=0;
    }
    private void btnClearActionPerformed(java.awt.event.ActionEvent evt) {                                         
        total2 =0;
        Resultado.setText("");
        bandera_punto=0;
    }                                       
   
   
    public static void main(String args[]) {
       
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Calculadora().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify                     
    private javax.swing.JTextField Resultado;
    private javax.swing.JButton btnCero;
    private javax.swing.JButton btnCinco;
    private javax.swing.JButton btnClear;
    private javax.swing.JButton btnClear2;
    private javax.swing.JButton btnCuatro;
    private javax.swing.JButton btnDivision;
    private javax.swing.JButton btnDos;
    private javax.swing.JButton btnIgualA;
    private javax.swing.JButton btnMultiplicacion;
    private javax.swing.JButton btnNueve;
    private javax.swing.JButton btnOcho;
    private javax.swing.JButton btnPunto;
    private javax.swing.JButton btnResta;
    private javax.swing.JButton btnSeis;
    private javax.swing.JButton btnSiete;
    private javax.swing.JButton btnSuma;
    private javax.swing.JButton btnTres;
    private javax.swing.JButton btnUno;
    private javax.swing.JLabel jLabel1;
    // End of variables declaration                   

   
}
« Última modificación: 20 de Noviembre 2016, 20:41 por Ogramar »

ESOJ

  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 143
    • Ver Perfil
Re:Ambiente grafico en Java (Crear una calculadora)
« Respuesta #1 en: 14 de Noviembre 2016, 05:37 »
Buenos días.

No he podido comprobar tu codigo porque no tengo netbeans.Yo uso BlueJ y Eclipse.
En cualquier caso aqui te dejo el código de una calculadora a ver si puede servirte.
Código: [Seleccionar]
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Font;
import java.awt.Insets;
import java.awt.Panel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
 
public class calculadora implements ActionListener{
 
    JTextField jt1, jt2;
    Panel pN, pb1, pb3;
    JPanel pS, pb2;
    JButton mc, mr, ms, mMas, mMenos, numeros[], operaciones[];
    String oper[]={"R", "C", "+", "/", "-" ,"*", "="},  ax="";
    float n1, n2, nr, M;//variables para las operaciones
    int tipOp; //para controlar el tipo de operacion que se realiza
    boolean t=false;//control sobre escribir un nuevo numero despues de alguna operacion cambia a true cuando se ha realizado una operacion
 
    public calculadora(){
 
        JFrame jfMain = new JFrame("Calculator");
        jfMain.setLayout(new BorderLayout(4, 4));
 
        norte();
        sur();
 
        jfMain.add(pN, BorderLayout.NORTH);
        jfMain.add(pS, BorderLayout.CENTER);
 
        jfMain.setLocation(100, 80);
        jfMain.setResizable(false);
        jfMain.setVisible(true);
        jfMain.setSize(300, 380);
        jfMain.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
 
    public void norte(){
 
        pN = new Panel(null);       
 
        jt1 = new JTextField("");
        jt2 = new JTextField("0");
 
        jt1.setHorizontalAlignment(JTextField.RIGHT);
        jt2.setHorizontalAlignment(JTextField.RIGHT);
 
        //Quitar bordes a los campos de texto
        jt1.setBorder(BorderFactory.createLineBorder(Color.white));
        jt2.setBorder(BorderFactory.createLineBorder(Color.white));
 
        //desabilitando los campos de texto
        jt1.setEditable(false);
        jt2.setEditable(false);
 
        jt1.setBackground(Color.white);
        jt2.setBackground(Color.white);
 
        pN.add(jt1); pN.add(jt2);
 
        jt1.setBounds(35, 10, 200, 15);
        jt2.setBounds(35, 25, 200, 30);
 
        pN.setSize(270, 47);
        pN.setVisible(true);
 
    }
 
    public void sur(){
 
        pS = new JPanel(new BorderLayout(6, 50));
        pS.setLayout(new BorderLayout(4, 4));
 
        botMem();
        botNum();
        botOpe();
 
        pS.add(pb1, BorderLayout.NORTH); 
        pS.add(pb2, BorderLayout.CENTER);
        pS.add(pb3, BorderLayout.EAST);
 
        pS.setSize(270, 330);
    }
 
    public void botMem(){
 
        pb1 = new Panel(null);
 
        mc = new JButton("MC");  mr = new JButton("MR");
        ms = new JButton("MS"); mMas = new JButton("M+");
        mMenos = new JButton("M-");
 
        mc.setFont(new Font("Arial", Font.BOLD, 11));
        mr.setFont(new Font("Arial", Font.BOLD, 11));
        ms.setFont(new Font("Arial", Font.BOLD, 11));
        mMas.setFont(new Font("Arial", Font.BOLD, 11));
        mMenos.setFont(new Font("Arial", Font.BOLD, 11));
 
        mc.setMargin(new Insets(1, 1, 1, 1)); mr.setMargin(new Insets(1, 1, 1, 1));
        ms.setMargin(new Insets(1, 1, 1, 1)); mMas.setMargin(new Insets(1, 1, 1, 1));
        mMenos.setMargin(new Insets(1, 1, 1, 1));
 
        mc.setBounds(35, 0, 33, 33); mr.setBounds(78, 0, 33, 33); ms.setBounds(121, 0, 33, 33);
        mMas.setBounds(164, 0, 33, 33); mMenos.setBounds(207, 0, 33, 33);
 
        pb1.add(mc); pb1.add(mr); pb1.add(ms); pb1.add(mMas); pb1.add(mMenos);
 
        mc.addActionListener(this); mr.addActionListener(this); ms.addActionListener(this);
        mMas.addActionListener(this); mMenos.addActionListener(this);
 
        pb1.setSize(270, 45);
        pb1.setVisible(true);       
    }
 
    public void botNum(){
 
        pb2 = new JPanel(null);
 
 
        int nx3=121, nx2=121, nx1=121, n3y=0, n2y=43, n1y=86;
        numeros = new JButton[11];
 
        //*****************************************
        //bloque para crear los botones, añadirlos y asignar numeros
        for (int i=0; i<=10; i++){
 
            if(i<=9){
                numeros[i] = new JButton(""+i);
                pb2.add(numeros[i]);
                numeros[i].setMargin(new Insets(1, 1, 1, 1));
                numeros[i].addActionListener(this); 
            }
            else{
                numeros[i] = new JButton(".");
                pb2.add(numeros[i]);
                numeros[i].setMargin(new Insets(1, 1, 1, 1));
                numeros[i].addActionListener(this);
            }
        }
 
        //******************************************
        //bloque para posicionar botones
        for(int i=10; i>=0; i--){
 
            if(i==10){
                numeros[i].setBounds(121, 129, 35, 35);
            }
            else{
                if(i<=9 && i>=7){
                    numeros[i].setBounds(nx3, n3y, 35, 35);
                    nx3-=43;
                }
                else if(i<=6 && i>=4){   
                    n3y+=43;                   
                    numeros[i].setBounds(nx2, n2y, 35, 35);
                    nx2-=43;
                }
                else if(i<=3 && i>=1){
                    n3y+=43;                   
                    numeros[i].setBounds(nx1, n1y, 35, 35);
                    nx1-=43;
                }
                else if(i==0){
                    numeros[i].setBounds(35, 129, 78, 35);                   
                }
            }               
        }
 
        pb2.setSize(170, 150);
        pb2.setVisible(true);
    }
 
    public void botOpe(){
 
        pb3 = new Panel(null);
 
        int c=0, x=0, y=0;
 
        operaciones = new JButton[7];
 
        for(int i=0; i<=6; i++){
            if(c<=1){
 
                operaciones[i] = new JButton(oper[i]);
                pb3.add(operaciones[i]);
 
                    operaciones[i].setBounds(x, y, 30, 35);
 
                    operaciones[i].setMargin(new Insets(1, 1, 1, 1));
                    operaciones[i].addActionListener(this);
                    x+=33;
                    c++;               
            }
            else{
                if(i==6){
                    x=0; y+=43;
                    operaciones[i] = new JButton(oper[i]);
                    pb3.add(operaciones[i]);
 
                    operaciones[i].setBounds(x, y, 65, 35);
 
                    operaciones[i].setMargin(new Insets(1, 1, 1, 1));
                    operaciones[i].addActionListener(this);
                    x+=33;
                    c++;
                }
                else{
                    c=0;
                    x=0; y+=43;
                    operaciones[i] = new JButton(oper[i]);
                    pb3.add(operaciones[i]);
 
                    operaciones[i].setBounds(x, y, 30, 35);
 
                    operaciones[i].setMargin(new Insets(1, 1, 1, 1));
                    operaciones[i].addActionListener(this);
                    x+=33;
                    c++;   
                }                             
            }               
 
        }
 
        pb3.setVisible(true);
        pb3.setSize(120, 200);
    }
 
    public boolean isN(String ax){
 
        try{
            int n = Integer.parseInt(ax);
            return true;
        }catch(NumberFormatException e){
            return false;
        }
 
    }
 
    @Override
    public void actionPerformed(ActionEvent e) {
 
        String  op="";
 
        if(isN(e.getActionCommand())){ //cuando se oprimen numeros
 
            if(jt1.getText().equals("")){
                ax += e.getActionCommand();
                jt2.setText(ax);
            }
            else{
                if(tipOp==0){
                    if(t){
                        ax="";
 
                        jt1.setText(jt2.getText());                       
                        ax += e.getActionCommand();
                        jt2.setText(ax);   
                        t = false;
                    }
                    else{
                        ax="";
                        ax += jt2.getText()+e.getActionCommand();
                        jt2.setText(ax);
                    }               
                }else{
                    ax="";
                    ax += jt2.getText()+e.getActionCommand();
                    jt2.setText(ax);
                }
            }           
        }
        else{//cuando se oprime el resto de botones
 
            if(e.getActionCommand().equals("R") ){
                jt1.setText("");
                Float a = Float.parseFloat(jt2.getText());
                jt2.setText(""+Math.sqrt(a));
            }
            if(e.getActionCommand().equals("C") ){ //para reiniciar valores y limpiar pantalla
                tipOp=0; n1 = 0; n2 =0; nr=0; jt1.setText(""); jt2.setText("0"); ax="";
            }   
            if(e.getActionCommand().equals("MC")){//para limpiar la memoria de la calculadora
                ms.setForeground(Color.black);
                jt1.setText(""); jt2.setText("0");
                M=0;
            }
            if(e.getActionCommand().equals("MR")){//para mostrar valor almacenado en la memoria
                jt1.setText("");
                jt2.setText(String.valueOf(M));
            }if(e.getActionCommand().equals("MS")){//guardar un valor en la memoria
                ms.setForeground(Color.red);
                M = Float.parseFloat(jt2.getText());
            }
            if(e.getActionCommand().equals("M+")){//sumar valor de la pantalla con el valor de la memoria
                M += Float.parseFloat(jt2.getText());
            }
            if(e.getActionCommand().equals("M-")){//restar valor de la pantalla con el valor de la memoria
                M -= Float.parseFloat(jt2.getText());
            }   
            if(e.getActionCommand().equals(".")){//usar el punto para los decimales
                ax="";
                if(numeros[10].isEnabled()){
                    numeros[10].setEnabled(false);
                    ax = jt2.getText() +".";
                    jt2.setText(ax);
                }
            }
            if(e.getActionCommand().equals("+") ){//boton suma
                numeros[10].setEnabled(true);
                ax="";
                if(tipOp==1){
 
                }else if(tipOp==0 ){//validacion para no chocar con otras operaciones
                        if(jt1.getText().equals("") ){
                            n1 = Float.parseFloat(jt2.getText());                   
                            ax += jt1.getText()+jt2.getText();
                            jt1.setText(ax+" + ");
                            jt2.setText("");
                            tipOp = 1;
                        }
                        else {
                            if(!t){//validacion para nueva operacion
                                n1 = Float.parseFloat(jt2.getText());                   
                                ax += jt2.getText();
                                jt1.setText(ax+" + ");
                                jt2.setText("");
                                tipOp = 1;
                            }
                            else{//usar otras operaciones con la suma
                                n1 = Float.parseFloat(jt2.getText());                   
                                ax += jt1.getText();
                                jt1.setText(ax+" + ");
                                jt2.setText("");
                                tipOp = 1;
                            }
                        }
                    }                     
             }
                if(e.getActionCommand().equals("-") ){//cuando se decide restar
                    numeros[10].setEnabled(true);
                    ax="";
                    if(tipOp==2){
 
                    }else if(tipOp==0){//validacion para no chocar con otras operaciones
                        if(jt1.getText().equals("")){
                            n1 = Float.parseFloat(jt2.getText());                   
                            ax += jt1.getText()+ jt2.getText();
                            jt1.setText(ax+" - ");
                            jt2.setText("");
                            tipOp = 2;
                        }
                        else{
                            if(!t){//validacion para nueva operacion
                                n1 = Float.parseFloat(jt2.getText());                   
                                ax += jt2.getText();
                                jt1.setText(ax+" - ");
                                jt2.setText("");
                                tipOp = 2;
                            }
                            else{//usar otras operaciones con la suma
                                n1 = Float.parseFloat(jt2.getText());                   
                                ax += jt1.getText();
                                jt1.setText(ax+" - ");
                                jt2.setText("");
                                tipOp = 2;
                            }
                        }
                    }                   
                }
                if(e.getActionCommand().equals("*") ){//cuando se decide multiplicar
                    numeros[10].setEnabled(true);
                    ax="";
                    if(tipOp==3){
 
                    }else if(tipOp==0){//validacion para no chocar con otras operaciones
                        if(jt1.getText().equals("")){
                            n1 = Float.parseFloat(jt2.getText());                   
                            ax += jt1.getText()+jt2.getText();
                            jt1.setText(ax+" * ");
                            jt2.setText("");
                            tipOp = 3;
                        }
                        else{
                            if(!t){//validacion para nueva operacion
                                n1 = Float.parseFloat(jt2.getText());                   
                                ax += jt2.getText();
                                jt1.setText(ax+" * ");
                                jt2.setText("");
                                tipOp = 3;
                            }
                            else{//usar otras operaciones con la suma
                                n1 = Float.parseFloat(jt2.getText());                   
                                ax += jt1.getText();
                                jt1.setText(ax+" * ");
                                jt2.setText("");
                                tipOp = 3;
                            }
                        }
                    }                     
                }
                if(e.getActionCommand().equals("/") ){//cuando se decide dividir
                    numeros[10].setEnabled(true);
                    ax="";
                    if(tipOp==4){
 
                    }else if(tipOp==0){//validacion para no chocar con otras operaciones
                        if(jt1.getText().equals("")){
                            n1 = Float.parseFloat(jt2.getText());                   
                            ax += jt1.getText()+jt2.getText();
                            jt1.setText(ax+" / ");
                            jt2.setText("");
                            tipOp = 4;
                        }
                        else{
                            if(!t){//validacion para nueva operacion
                                n1 = Float.parseFloat(jt2.getText());                   
                                ax += jt2.getText();
                                jt1.setText(ax+" / ");
                                jt2.setText("");
                                tipOp = 4;
                            }
                            else{//usar otras operaciones con la suma
                                n1 = Float.parseFloat(jt2.getText());                   
                                ax += jt1.getText();
                                jt1.setText(ax+" / ");
                                jt2.setText("");
                                tipOp = 4;
                            }
                        }
                    }                     
                }
                if(e.getActionCommand().equals("=") && !jt2.getText().equals("")){
                    t = true;
                    if(tipOp==1){//operacion para la suma
                        tipOp = 0;
                        ax="";
                        ax+=jt1.getText() + jt2.getText();
                        jt1.setText(ax);
                        n2 = Float.parseFloat(jt2.getText());
                        nr=n1+n2;
                        jt2.setText(String.valueOf(nr));
                    }
                    else if(tipOp==2){ //operacion para la resta
                        tipOp = 0;
                        ax="";
                        ax+=jt1.getText()+jt2.getText();
                        jt1.setText(ax);
                        n2 = Float.parseFloat(jt2.getText());
                        nr=n1-n2;
                        jt2.setText(String.valueOf(nr));
                    }
                    if(tipOp==3){ //operacion para la multiplicacion
                        tipOp = 0;
                        ax="";
                        ax+=jt1.getText()+jt2.getText();
                        jt1.setText(ax);
                        n2 = Float.parseFloat(jt2.getText());
                        nr=n1*n2;
                        jt2.setText(String.valueOf(nr));
                    }
                    if(tipOp==4){ //operacion para la multiplicacion
                        if(Float.parseFloat(jt2.getText())!=0){
                            tipOp = 0;
                            ax="";
                            ax+=jt1.getText()+jt2.getText();
                            jt1.setText(ax);
                            n2 = Float.parseFloat(jt2.getText());
                            nr=n1/n2;
                            jt2.setText(String.valueOf(nr));
                        }
                        else
                            JOptionPane.showMessageDialog(null, "No se puede realizar divison por 0");
                    }
                }
        }       
    } 
    public static void main(String[] args) {
       
           
           
             new calculadora();}

Un saludo

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".