Blog creado principalmente para subir cosas referentes a las materias de POO y Taller de POO
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
Eventos y excepciones.
Estas son las posibles excepciones que se generan en mi proyecto:
Con respecto a los eventos tenemos los siguientes:
1. Cuando oprimimos el botón cerrar.
2. Cuando oprimimos cualquier botón.
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);
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:
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.
/** * 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.
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.
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.
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:
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
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 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:



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
Suscribirse a:
Entradas (Atom)