Mostrando entradas con la etiqueta Taller de POO. Mostrar todas las entradas
Mostrando entradas con la etiqueta Taller de POO. Mostrar todas las entradas

martes, 25 de octubre de 2011

Patrones de diseño.

Eventos y excepciones.

Estas son las posibles excepciones que se generan en mi proyecto:


import java.io.*;

public class Excepcion {
public static void main(String args[]) throws IOException  {

try {

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

  int n1, n2, n;
  System.out.print("Da un numero: ");
  n1 = Integer.parseInt(in.readLine());
  System.out.print("Da otro numero: ");
  n2 = Integer.parseInt(in.readLine());
  System.out.print("La division = " + n1/n2);
 }

 catch (NumberFormatException nfe) {
  System.out.println("Numero invalido " + nfe.toString());
 }
 catch (ArithmeticException ae) {
  System.out.println("Division invalida " + ae.toString());
 }
}
}
Aquí se muestra como funciona:

Con respecto a los eventos tenemos los siguientes:
1. Cuando oprimimos el botón cerrar.



addWindowListener(new WindowAdapter()
      {
         public void windowClosing(WindowEvent e)
            {
               Calc.this.dispose();
               System.runFinalization();
               System.gc();
               System.exit(0);
            }
      });

2. Cuando oprimimos cualquier botón.



       jb_one.addActionListener(Calc.this);
       jb_two.addActionListener(Calc.this);
       jb_three.addActionListener(Calc.this);
       jb_four.addActionListener(Calc.this);
       jb_five.addActionListener(Calc.this);
       jb_six.addActionListener(Calc.this);
       jb_seven.addActionListener(Calc.this);
       jb_eight.addActionListener(Calc.this);
       jb_nine.addActionListener(Calc.this);
       jb_zero.addActionListener(Calc.this);
       jb_plus.addActionListener(Calc.this);
       jb_minus.addActionListener(Calc.this);
       jb_divide.addActionListener(Calc.this);
       jb_multiply.addActionListener(Calc.this);
       jb_sin.addActionListener(Calc.this);
       jb_cos.addActionListener(Calc.this);
       jb_tan.addActionListener(Calc.this);
       jb_asin.addActionListener(Calc.this);
       jb_acos.addActionListener(Calc.this);
       jb_atan.addActionListener(Calc.this);
       jb_pie.addActionListener(Calc.this);
       jb_E.addActionListener(Calc.this);
       jb_decimalpoint.addActionListener(Calc.this);
       jb_equalto.addActionListener(Calc.this);
       jb_fact.addActionListener(Calc.this);
       jb_power.addActionListener(Calc.this);
       jb_changesign.addActionListener(Calc.this);
       jb_reciporcal.addActionListener(Calc.this);
       jb_todeg.addActionListener(Calc.this);
       jb_torad.addActionListener(Calc.this);
       jb_round.addActionListener(Calc.this);
       jb_CA.addActionListener(Calc.this);
       jb_CE.addActionListener(Calc.this);

Interfaz gráfica.

Esta será la interfaz gráfica para mi proyecto final:



jueves, 13 de octubre de 2011

Demo 1

Este es el primer demo que presente en la clase. Como habia dicho anteriormente el principal objetivo que yo tenía para medio curso, era realizar una calculadora con las cuatro operaciones básicas. El código es el siguiente:
public class interfaz extends javax.swing.JFrame {

    float var1,var2;
    boolean suma,resta,mult,div;
    public interfaz() {
        initComponents();
 //se declara como falso porque aun no se hace ninguna operacion
        suma=false;
        resta=false;
        mult=false;
        div=false;
    }
 
    private void initComponents() {

        textoRESULTADO = new javax.swing.JTextField();
        numero1 = new javax.swing.JButton();
        numero2 = new javax.swing.JButton();
        numero3 = new javax.swing.JButton();
        numero6 = new javax.swing.JButton();
        numero5 = new javax.swing.JButton();
        numero4 = new javax.swing.JButton();
        numero9 = new javax.swing.JButton();
        numero8 = new javax.swing.JButton();
        numero7 = new javax.swing.JButton();
        numero0 = new javax.swing.JButton();
        botonIGUAL = new javax.swing.JButton();
        botonSUMAR = new javax.swing.JButton();
        botonRESTAR = new javax.swing.JButton();
        botonDIV = new javax.swing.JButton();
        botonMULT = new javax.swing.JButton();
        jLabel1 = new javax.swing.JLabel();
        botonLIMPIAR = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
  
  setTitle("Calculadora de Eduardo");
  
        numero1.setText("1");
        numero1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                numero1ActionPerformed(evt);
            }
        });

        numero2.setText("2");
        numero2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                numero2ActionPerformed(evt);
            }
        });

        numero3.setText("3");
        numero3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                numero3ActionPerformed(evt);
            }
        });

        numero6.setText("6");
        numero6.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                numero6ActionPerformed(evt);
            }
        });

        numero5.setText("5");
        numero5.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                numero5ActionPerformed(evt);
            }
        });

        numero4.setText("4");
        numero4.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                numero4ActionPerformed(evt);
            }
        });

        numero9.setText("9");
        numero9.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                numero9ActionPerformed(evt);
            }
        });

        numero8.setText("8");
        numero8.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                numero8ActionPerformed(evt);
            }
        });

        numero7.setText("7");
        numero7.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                numero7ActionPerformed(evt);
            }
        });

        numero0.setText("0");
        numero0.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                numero0ActionPerformed(evt);
            }
        });

        botonIGUAL.setText("=");
        botonIGUAL.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botonIGUALActionPerformed(evt);
            }
        });

        botonSUMAR.setText("+");
        botonSUMAR.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botonSUMARActionPerformed(evt);
            }
        });

        botonRESTAR.setText("-");
        botonRESTAR.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botonRESTARActionPerformed(evt);
            }
        });

        botonDIV.setText("/");
        botonDIV.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botonDIVActionPerformed(evt);
            }
        });

        botonMULT.setText("*");
        botonMULT.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botonMULTActionPerformed(evt);
            }
        });

        

        botonLIMPIAR.setText("clear");
        botonLIMPIAR.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botonLIMPIARActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(22, 22, 22)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(jLabel1)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(botonLIMPIAR))
                    .addComponent(textoRESULTADO, javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(layout.createSequentialGroup()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(numero4, javax.swing.GroupLayout.PREFERRED_SIZE, 44, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(numero5, javax.swing.GroupLayout.PREFERRED_SIZE, 45, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(numero6, javax.swing.GroupLayout.PREFERRED_SIZE, 46, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
                                .addComponent(numero7, javax.swing.GroupLayout.PREFERRED_SIZE, 44, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(numero8, javax.swing.GroupLayout.PREFERRED_SIZE, 45, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(numero9, javax.swing.GroupLayout.PREFERRED_SIZE, 46, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGroup(layout.createSequentialGroup()
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                                    .addComponent(numero0, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addComponent(numero1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 44, javax.swing.GroupLayout.PREFERRED_SIZE))
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                    .addGroup(layout.createSequentialGroup()
                                        .addComponent(numero2, javax.swing.GroupLayout.PREFERRED_SIZE, 45, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(numero3, javax.swing.GroupLayout.PREFERRED_SIZE, 46, javax.swing.GroupLayout.PREFERRED_SIZE))
                                    .addComponent(botonIGUAL, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addComponent(botonRESTAR, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(botonSUMAR, javax.swing.GroupLayout.DEFAULT_SIZE, 73, Short.MAX_VALUE)
                            .addComponent(botonDIV, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(botonMULT, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
                .addContainerGap(22, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel1)
                    .addComponent(botonLIMPIAR))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(textoRESULTADO, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(numero7)
                    .addComponent(numero8)
                    .addComponent(numero9)
                    .addComponent(botonSUMAR))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(numero4)
                    .addComponent(numero5)
                    .addComponent(numero6)
                    .addComponent(botonRESTAR))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(numero1)
                    .addComponent(numero2)
                    .addComponent(numero3)
                    .addComponent(botonDIV))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(numero0)
                    .addComponent(botonIGUAL)
                    .addComponent(botonMULT))
                .addContainerGap())
        );

        pack();
    }

    private void numero0ActionPerformed(java.awt.event.ActionEvent evt) {

        if(textoRESULTADO.equals("0") || textoRESULTADO.equals(""))
            textoRESULTADO.setText("0");
        else
            textoRESULTADO.setText(textoRESULTADO.getText().concat("0"));
        var1=Float.parseFloat(textoRESULTADO.getText());
    }//GEN-LAST:event_numero0ActionPerformed

    private void numero1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_numero1ActionPerformed

          if(textoRESULTADO.equals("0") || textoRESULTADO.equals(""))
            textoRESULTADO.setText("1");
        else
            textoRESULTADO.setText(textoRESULTADO.getText().concat("1"));//concatena el numero en la barra
        //asigna a la variable el valor numerico de la caja de texto, convierte de String a float
        var1=Float.parseFloat(textoRESULTADO.getText());
    }//GEN-LAST:event_numero1ActionPerformed

    private void numero2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_numero2ActionPerformed

        if(textoRESULTADO.equals("0") || textoRESULTADO.equals(""))
            textoRESULTADO.setText("2");
        else
            textoRESULTADO.setText(textoRESULTADO.getText().concat("2"));//concatena el numero en la barra
        //asigna a la variable el valor numerico de la caja de texto, convierte de String a float
        var1=Float.parseFloat(textoRESULTADO.getText());

    }//GEN-LAST:event_numero2ActionPerformed

    private void numero3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_numero3ActionPerformed

          if(textoRESULTADO.equals("0") || textoRESULTADO.equals(""))
            textoRESULTADO.setText("3");
        else
            textoRESULTADO.setText(textoRESULTADO.getText().concat("3"));//concatena el numero en la barra
        //asigna a la variable el valor numerico de la caja de texto, convierte de String a float
        var1=Float.parseFloat(textoRESULTADO.getText());

    }//GEN-LAST:event_numero3ActionPerformed

    private void botonSUMARActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botonSUMARActionPerformed
    //Este es el boton de SUMA por lo tanto la operacion suma es verdadera
        this.suma=true;
        this.textoRESULTADO.setText("");
        var2=var1;
        // TODO add your handling code here:
    }//GEN-LAST:event_botonSUMARActionPerformed

    private void botonIGUALActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botonIGUALActionPerformed

        //este es el boton IGUAL, dependiendo de la operacion verdadera pendiente, se hara la operacion
        if(suma)
        {
            //se inserta en la caja de texto el valor String para la suma de la variable 1 y 2
            this.textoRESULTADO.setText(String.valueOf(var1+var2));
            var1=var2+var1;//la variable 1 es el resultado de la operacion anterior, para poder realizar futuras operaciones
            suma=false;//se ha realizado la operacion por lo tanto este valor vuelve a ser falso para evitar conflictos

        }
        //continuamos de la misma forma ocn las demas operaciones
        if(resta)
        {
            //se inserta en la caja de texto el valor String para la suma de la variable 1 y 2
            this.textoRESULTADO.setText(String.valueOf(var2-var1));
            var1=var2-var1;//la variable 1 es el resultado de la operacion anterior, para poder realizar futuras operaciones
            resta=false;//se ha realizado la operacion por lo tanto este valor vuelve a ser falso para evitar conflictos

        }
        if(mult)
        {
            //se inserta en la caja de texto el valor String para la suma de la variable 1 y 2
            this.textoRESULTADO.setText(String.valueOf(var2*var1));
            var1=var2*var1;//la variable 1 es el resultado de la operacion anterior, para poder realizar futuras operaciones
            mult=false;//se ha realizado la operacion por lo tanto este valor vuelve a ser falso para evitar conflictos

        }
        if(div)
        {
            //se inserta en la caja de texto el valor String para la suma de la variable 1 y 2
            this.textoRESULTADO.setText(String.valueOf(var2/var1));
            var1=var2/var1;//la variable 1 es el resultado de la operacion anterior, para poder realizar futuras operaciones
            div=false;//se ha realizado la operacion por lo tanto este valor vuelve a ser falso para evitar conflictos

        }
    }//GEN-LAST:event_botonIGUALActionPerformed

    private void botonRESTARActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botonRESTARActionPerformed

            this.resta=true;
            this.textoRESULTADO.setText("");
            var2=var1;
// TODO add your handling code here:
    }//GEN-LAST:event_botonRESTARActionPerformed

    private void botonDIVActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botonDIVActionPerformed

        this.div=true;
        this.textoRESULTADO.setText("");
        var2=var1;// TODO add your handling code here:
    }//GEN-LAST:event_botonDIVActionPerformed

    private void botonMULTActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botonMULTActionPerformed

        this.mult=true;
        this.textoRESULTADO.setText("");
        var2=var1;// TODO add your handling code here:
    }//GEN-LAST:event_botonMULTActionPerformed

    private void botonLIMPIARActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botonLIMPIARActionPerformed

        //botton de CLEAR o LIMPIAR
        this.textoRESULTADO.setText("0");
        var1=0;
        var2=0;
        mult=false;
        div=false;
        suma=false;
        resta=false;
        // TODO add your handling code here:
    }//GEN-LAST:event_botonLIMPIARActionPerformed

    private void numero4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_numero4ActionPerformed
  if(textoRESULTADO.equals("0") || textoRESULTADO.equals(""))
            textoRESULTADO.setText("4");
        else
            textoRESULTADO.setText(textoRESULTADO.getText().concat("4"));//concatena el numero en la barra
        //asigna a la variable el valor numerico de la caja de texto, convierte de String a float
        var1=Float.parseFloat(textoRESULTADO.getText());        // TODO add your handling code here:
    }//GEN-LAST:event_numero4ActionPerformed

    private void numero5ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_numero5ActionPerformed
        // TODO add your handling code here:
          if(textoRESULTADO.equals("0") || textoRESULTADO.equals(""))
            textoRESULTADO.setText("5");
        else
            textoRESULTADO.setText(textoRESULTADO.getText().concat("5"));//concatena el numero en la barra
        //asigna a la variable el valor numerico de la caja de texto, convierte de String a float
        var1=Float.parseFloat(textoRESULTADO.getText());
    }//GEN-LAST:event_numero5ActionPerformed

    private void numero6ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_numero6ActionPerformed
        // TODO add your handling code here:
          if(textoRESULTADO.equals("0") || textoRESULTADO.equals(""))
            textoRESULTADO.setText("6");
        else
            textoRESULTADO.setText(textoRESULTADO.getText().concat("6"));//concatena el numero en la barra
        //asigna a la variable el valor numerico de la caja de texto, convierte de String a float
        var1=Float.parseFloat(textoRESULTADO.getText());
    }//GEN-LAST:event_numero6ActionPerformed

    private void numero7ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_numero7ActionPerformed

          if(textoRESULTADO.equals("0") || textoRESULTADO.equals(""))
            textoRESULTADO.setText("7");
        else
            textoRESULTADO.setText(textoRESULTADO.getText().concat("7"));//concatena el numero en la barra
        //asigna a la variable el valor numerico de la caja de texto, convierte de String a float
        var1=Float.parseFloat(textoRESULTADO.getText());
        // TODO add your handling code here:
    }//GEN-LAST:event_numero7ActionPerformed

    private void numero8ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_numero8ActionPerformed
        // TODO add your handling code here:
          if(textoRESULTADO.equals("0") || textoRESULTADO.equals(""))
            textoRESULTADO.setText("8");
        else
            textoRESULTADO.setText(textoRESULTADO.getText().concat("8"));//concatena el numero en la barra
        //asigna a la variable el valor numerico de la caja de texto, convierte de String a float
        var1=Float.parseFloat(textoRESULTADO.getText());
    }//GEN-LAST:event_numero8ActionPerformed

    private void numero9ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_numero9ActionPerformed

          if(textoRESULTADO.equals("0") || textoRESULTADO.equals(""))
            textoRESULTADO.setText("9");
        else
            textoRESULTADO.setText(textoRESULTADO.getText().concat("9"));//concatena el numero en la barra
        //asigna a la variable el valor numerico de la caja de texto, convierte de String a float
        var1=Float.parseFloat(textoRESULTADO.getText());// TODO add your handling code here:
    }//GEN-LAST:event_numero9ActionPerformed

    /**
    * @param args the command line arguments
    */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new interfaz().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton botonDIV;
    private javax.swing.JButton botonIGUAL;
    private javax.swing.JButton botonLIMPIAR;
    private javax.swing.JButton botonMULT;
    private javax.swing.JButton botonRESTAR;
    private javax.swing.JButton botonSUMAR;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JButton numero0;
    private javax.swing.JButton numero1;
    private javax.swing.JButton numero2;
    private javax.swing.JButton numero3;
    private javax.swing.JButton numero4;
    private javax.swing.JButton numero5;
    private javax.swing.JButton numero6;
    private javax.swing.JButton numero7;
    private javax.swing.JButton numero8;
    private javax.swing.JButton numero9;
    private javax.swing.JTextField textoRESULTADO;
    // End of variables declaration//GEN-END:variables

}
Las imágenes de mi demo:

Autogeneración de código.

Esta es la autogenración de código, que salio de mi diagrama de clases:


/**
 * Class Calculadora
 */
public class Calculadora{
  //
  // Fields
  //
  //
  // Constructors
  //
  public Calculadora () { };
  //
  // Methods
  //
  //
  // Accessor methods
  //
  //
  // Other methods
  //
  /**
   */
  public void IntroducirNumeros(  )
  {
  }
  /**
   */
  public void Sumar(  )
  {
  }
  /**
   */
  public void Restar(  )
  {
  }
  /**
   */
  public void Multiplicar(  )
  {
  }
  /**
   */
  public void Dividir(  )
  {
  }
 /**
   */
  public void CalcularResultado(  )
  {
  }
  /**
   */
  public void BorrarPantalla(  )
  {
  }
}

/**
 * Class Botones
 */
public class Botones {
  //
  // Fields
  //
  private void Tamaño;
  private void Distribución;
  //
  // Constructors
  //
  public Botones () { };
  //
  // Methods
  //
  //
  // Accessor methods
  //
  /**
   * Set the value of Tamaño
   * @param newVar the new value of Tamaño
   */
  private void setTamaño ( void newVar ) {
    Tamaño = newVar;
  }
  /**
   * Get the value of Tamaño
   * @return the value of Tamaño
   */
  private void getTamaño ( ) {
    return Tamaño;
  }
  /**
   * Set the value of Distribución
   * @param newVar the new value of Distribución
   */
  private void setDistribución ( void newVar ) {
    Distribución = newVar;
  }
  /**
   * Get the value of Distribución
   * @return the value of Distribución
   */
  private void getDistribución ( ) {
    return Distribución;
  }
  //
  // Other methods
  //
  /**
   */
  public void Oprimir(  )
  {
  }
}

Si comparamos este código con el código original, nos podemos dar cuenta que ciertas cosas se parecen, pero en si, difiere mucho del código original.

Documentación técnica.

Esta es la documentacíón técinica que surgió de el primer demo de mi proyecto:


Herencia

Estos son los posibles casos de herencia de mi proyecto:

En este caso, estamos creando lo que son los botones, así como la implementación de de los Action Listeners, se utiliza el mismo código para cada uno de los botones, tanto para los números como para los botones que haran las operaciones aritmeticas.






La segunda relación de herencia que detecte en mi proyecto es la manera en la cual se van a organizar los botones en el panel que cree, aparte de sus distribución, es exactamente el mismo código que se va a utilizar al igual que en la parte anterior.

lunes, 29 de agosto de 2011

Esqueleto de Clases.

El proyecto ya lo he mencionado varias veces, es una calculadora en Java. Aquí esta el esqueleto de clases para este proyecto:


Clase: Calculadora.


Atributos: Color de la ventana, tamaño de la ventana, tamaño de los botones, distribución de los botones, signo de los números.


*Hasta el momento, estos son los únicos atributos que tengo, como mencione anteriormente, el objetivo es hacer primero una calculadora básica, y posteriormente si alcanza el tiempo, modificar la básica para así hacer la científica, con esto se agregaran nuevos atributos*


Métodos.


Introducir datos:


Este método consiste en que el usuario introducirá los números con los cuales va a  realizar alguna operación.


Sumar:


En este método mediante la introducción de valores numéricos, se calculará la suma de los mismos.


Restar:


En este método mediante la introducción de valores numéricos, se calculará la resta de los mismos.


Multiplicar:


En este método mediante la introducción de valores numéricos, se calculará la multiplicación de los mismos.


Dividir:


En este método mediante la introducción de valores numéricos, se calculará la división de los mismos.


Calcular porcentaje:


En este método mediante la introducción de valores numéricos, se calculará la el porcentaje de los mismos.


Calcular resultado:


En este método mediante la introducción de valores numéricos, y la selección de la operación a realizar, se calculará el resultado que arrojo dicha operación.


Borrar pantalla:


En este método permite borrar la pantalla después de que se haya calculado algo, o si tenemos un error.


Memorizar datos:


En este método mediante la introducción de valores numéricos, y el cálculo de alguna operación, podremos guardar estos el resultado que nos dio dicha operación.




Recordando por supuesto, que la clase y los métodos son públicos y los atributos privados.

jueves, 18 de agosto de 2011

Implementación de una clase.

Este es un ejemplo de como programar una clase en Java. Mis compañeros que son IAS, tal vez recuerden de sus clases de contabilidad el término "Estado de resultados", bien, aquí lo que yo hice, fue tomar dos conceptos del estado de resultados, el ISR y el PTU, veamos el ejemplo:


Aquí, se muestran mis atributos, que en este caso son 3 ISR, PTU, y suma. También se puede ver el constructor, en el cual le di como valor inicial a suma el valor de 100000. Por último se pueden ver los 2 métodos que tengo, calcular el ISR y calcular el PTU. Ahora veamos como crear los objetos: 



En esta figura, podemos observar como crear mis objetos dentro del main, en este caso mis objetos son Edo1 y Edo2, "x" y "y" son variables que yo utilizo para, por medio de mis objetos acceder a los métodos, imprimir los resultados, y así termina el programa, veamos los resultados:





jueves, 11 de agosto de 2011

Herramientas de trabajo.

Cuando nosotros vamos a programar en Java, es necesario descargar alguna versión del JDK (Java Development Kit), sin embargo, siempre ocurre un problema con el compilador, es decir con el archivo javac.exe, no se reconoce, ya que su ruta esta mal especificada, es por eso que aquí mostraremos una serie de pasos para aprender como configurar la variable de entorno Path para asi incluir la ruta del compilador:

Paso 1: Debemos de identificar en donde se instalo Java, que por lo
general es en el Disco Local, en los Archivos de Programa:

Paso 2: Ya que encontramos en donde esta instalado Java, abriremos esa carpeta y nos encontraremos con una que dice "jdk1.6.0_20", que es la versión que se instalo, abrimos esa carpeta y encontraremos una que se llama bin, dentro de esta carpeta debemos de localizar el archivo javac.exe:
Paso 3:
Una vez encontrado el archivo javac.exe, le daremos un click con el botón derecho del mouse y seleccionaremos la opción Propiedades, una vez seleccionada la opción se desplegara un cuadro de dialogo, en el debemos localizar Ubicación, que es donde esta la ruta correcta que debemos de proporcionar como variable a Windows, copiamos la ruta:

Paso 4: Ya que copiamos la ubicación del archivo, debemos de ir a Equipo, una vez ahí, daremos click con el botón derecho del mouse y seleccionaremos la opción Propiedades, una vez seleccionada la opción nos abrirá la venta de Sistema, ya en la ventana de Sistema, en el panel izquierdo debemos de seleccionar la opción Configuración avanzada del sistema:
Paso 5: Ya seleccionada la opción se nos abrirá el siguiente cuadro de dialogo, en
el debemos de dar click al botón Variables de entorno:
Paso 6: Una vez que oprimimos el botón, aparecerá otro cuadro de dialogo, en el cual debemos de localizar en el apartado de variables de sistema a la variable Path, la seleccionamos y daremos click al botón Editar, lo que dará como resultado otro cuadro de dialogo, en el apartado de Valor de la variable, debemos de pegar la ruta del compilador, que previamente habíamos copiado:
Paso 7: Una vez hecho todo esto, daremos click en el botón Aceptar de todos los cuadros de dialogo,y habremos terminado, sin embargo para que el sistema tome en cuenta la ubicación del archivo javac.exe, es necesario reiniciar Windows, una vez reiniciado Windows abriremos el cmd y teclearemos javac para ver que ya lo identifica:
Aquí podrán descargar el JDK:  http://windows.software.hispavista.com/ce/n5170-java-developers-kit-jdk-6/

Como editor de texto, estoy utilizando en Notepad++, que es un editor con soporte para varios lenguajes de programación, únicamente funciona en Windows.


Aquí podrán descargar el Notepad++: http://notepad.softonic.com/descargar