Está en la página 1de 15

Diego David Alejandro, Larrie lima 0900-16-1443

Programacin II, Ingeniera en sistemas seccin D

.
Calculadora en java NetBeans.

7/09/2017

Documentacin.
Anlisis de contenedores y layout 2-4
Explicacin del cdigo 4-12
Demostracin de funcionabilidad 13-14
Cdigo fuente, para descargar 15

Diego David Alejandro Larrie lima. Estudiante de la universidad mariano Glvez de Guatemala
campus central presenta una sesilla documentacin ESTILO TUTORIAL acerca de la realizacin de una
calculadora echa en java, netbeans.

Descarga cdigo fuente para importar:


https://drive.google.com/a/miumg.edu.gt/file/d/0BxVwwFDeuAkyY0cyS0hRbV83M2s/view?usp=shar
1
ing
1 Crear un nuevo proyecto de java aplicacin sin incluir clase principal main. Luego crear un nuevo jframe que contra la vista (UI
interface de usuario).

2 Anlisis de contenedores y layout:


En java, cuando colocamos un contenedor (jpanel, jframe.etc) , la clase que decide cmo se reparten los
componentes que llevan dentro se llama Layout. Esta clase es la que decide en qu posicin van los
componentes, si van alineados, en forma de matriz, cules se hacen grandes al agrandar la ventana, etc.

Con el objetivo de que la calculadora sea adaptable a cualquier tamao (resolucin pantalla). se empieza por
trazar un diseo de como a de comportarse y verse (normale mente en papel).

Jframe BorderLayout; divide la ventana en 5 partes: centro, arriba, abajo, derecha e izquierda. Har
que los componentes que pongamos arriba y abajo ocupen el alto que necesiten, pero los estirar
horizontalmente hasta ocupar toda la ventana.

Jpanel llamado pantalla utiliza boxLayout; Permite


colocar los elementos en lista horizontal o vertical
en este caso vertical.
A diferencia FlowLayout puede tener diferentes
alturas.

Jpanel llamado controles utiliza borderLayout; de la


siguiente manera

2
Jpanel llamado Botones utiliza griLayout de 4 columas;

GritLayout pone los componentes en forma de


matriz (cuadrcula), estirndolos para que tengan
todos los mismos tamaos.
El GridLayout es adecuado para hacer tableros,
calculadoras en que todos los botones son iguales,
etc.

jTabbedPane llamado BotonesPlus; contenedor de


paneles

Demostracin de resultados:

Antes de seguir con este manual, a manera de ilustrar la utilidad de los layout se agreg esta demostracin:

Sin importar la resolucin la calculadora no se deforma demasiado y sigue siendo utilizable

3
Observe como los botones, se adaptan dependiendo de la cantidad y el tamao gracias al GritLayout.

Para pasar del diseo a crear la interface se utiliz el editor visual de NetBeans, para agregar algo es tan sesillo como
arrastrar de la paleta as el jFrame.

4
3 Programando:

Contiene la informacin de las


operaciones, por ejemplo. 3+3-
2+1/2

Resultado operacin a operacin. Segunda; luego de


la primera operacin su funcionamiento es el miso
que el ANS de las calculadoras.
Ingrese Numero1

Numero 1 = 4

Ingrese Numero2

Numero 2 = 4

>Resultado = Numero 1 + Numero 2

Segunda vuelta = verdadero.

Numero1 = resultado // ANS

Ingrese numero 2

Define una variable que solo puede tomar dos valores, ntese
Conf es de tipo PRIVATE STATIC un que no se le coloque
siempre, en java las variables de definiciones tipo enum son
estticas.

Programando los botones:

Nmeros:

Evala si la pantalla est limpia, si lo est entonces asigna a la pantalla la tecla presionando. Si no lo
est entonces lo agrega a lo que tenga la pantalla.

Luego cuando se presiona un botn solo llama al procedimiento o mtodo:

El cdigo es el mismo para los botones de ingreso de nmeros del 0 al 9, llamando al mtodo

IngresoNumero(Carcter: NUMERO)

5
Botn de retroceso:

Simplemente hace una sub cadena de 0 al tamao de lo que tenga la pantalla 1 menos 1 y se lo asigna a la pantalla o
texto principal.

Botn de C:

Limpia la pantalla principal, pero no la pantalla secundaria donde se muestra la informacin de las operaciones, ni
tampoco borra el resultado de esas operaciones. Si el dato 2 ya a sido ingresado entonces lo limpia el dato 1.

Ejemplo de su funcionamiento

Botn de CE:

Limpia todo.

Boton de punto

6
Boton de cambio de signo:

Botn de igual:

Operaciones Binarias

las calculadoras trabajan con 2 valores almacenados en memoria; las operaciones binarias involucran a 2 datos
numricos y una instruccin (Operacin). Ej: Numero1 + Numero2

Los botones de suma, resta, multiplicacin, divisin, potencia x^X, raz xX, porcentaje x % X, utilizan la misma
lgica:

Evaluar si la pantalla est limpia ya que la funcin del botn C estable el valor a la pantalla que podra producir un error
si se llama a EstadoCalculada_EnterOperacion.

Seudocdigo:

Si (pantalla no est vaca) entonces {

EstadoCalculada_EnterOperacion(String Operacion);

Botn de resta:

Botn de suma:

7
Botn de multiplicacin:

Botn:

Y as para las operaciones de:

[Suma], [resta], [multiplicacin], [divisin], [potencia x^X], [raz xX], [porcentaje x % X]

Limpiando la pantalla y llamado al mtodo:

Mtodo para calcular las operaciones

Llena los datos del objeto dato. Si ya se a introducido ms de 2 datos 2 veces se activa el atributo de segunda donde el
valor 1 es igual al resultado; este sistema es el mismo que utilizan las calculadoras con su funcin ANS.

Ejemplo seudocdigo:
Ingrese Numero1

Numero 1 = 4

Ingrese Numero2

Numero 2 = 4

>Resultado = Numero 1 + Numero 2

8
Segunda vuelta = verdadero.

Numero1 = resultado // ANS

Ingrese numero 2

Numero 2 = 3

>Resultado = numero1 + numero 2

La clase Ui_Calculadora se compone de un dato que contiene los datos para

Calcular las operaciones binarias es de sir las que necesitan de un

VALOR1 OPERACIN VALOR2

Clase Dato
public class Dato {

public Double Numero1=0.0;


public Double Numero2=0.0;
public Double Resultado=0.0;
public String Operacion;
public boolean IngresadoNUM1=false;
public boolean IngresadoNUM2=false;
public boolean IngresadoOperacion=false;
public boolean CalculadoResultado=false;
public boolean LLeno=false;

public void Calcular(){


if(IngresadoNUM1==true && IngresadoNUM2 == true && IngresadoOperacion == true){
switch(Operacion){
case"+":
Resultado=Numero1+Numero2;
break;
case"-":
Resultado=Numero1-Numero2;
break;
case"x":
Resultado=Numero1*Numero2;
break;
case"/":
Resultado=Numero1/Numero2;
break;
case"^":
Resultado=Math.pow(Numero1, Numero2);
break;
case"Raiz: ":
Resultado=Math.pow(Numero1, 1.0/Numero2);
break;
case"%":
Resultado=(Numero1*Numero2)/100;
break;

};
LLeno=true;
}
}

public void setNumero1(Double Numero1) {


this.Numero1 = Numero1;
this.IngresadoNUM1=true;
}

public void setNumero2(Double Numero2) {


this.Numero2 = Numero2;
this.IngresadoNUM2=true;
}

public void setOperacion(String Operacion) {


this.Operacion = Operacion;
this.IngresadoOperacion = true;
}
}

9
Operaciones unarias:

las calculadoras trabajan con 2 valores almacenados en memoria, sin embargo, hay operaciones que solo afecta a 1
valor, como raz cuadrada, la factorial de un numero sin, cons, tan, porcentaje etc. Ejemplo: sqr(Numero1)

Botn:

Botn:

Botn:

Botn:

10
Botn

Botn

Botn

Botn doble.

11
Botn:

Botn:

Botn:

Botn:

Botn:

12
Demostracin de funcionabilidad:

13
14
Link de descargar. Po algunos motivos como los iconos, y la sangra se decidi subir el proyecto en vez de copear y
pegar las lneas del cdigo.

Espero y les sea de utilidad, posible mejora no cuenta no soporte para deteccin de teclas para el ingreso de nmeros y
operaciones.

https://drive.google.com/a/miumg.edu.gt/file/d/0BxVwwFDeuAkyY0cyS0hRbV83M2s/view?usp=sharing

15

También podría gustarte