Inicio > Metodos personalizados > Java con NetBeans : Capítulo 7 – Métodos personalizados

Java con NetBeans : Capítulo 7 – Métodos personalizados

Hasta este punto hemos desarrollado aplicaciones sencillas creando soluciones a problemas sencillos utilizando el lenguaje java y nuestra lógica de programación. Si bien es cierto hemos usado métodos, no se han definido los conceptos propios y concretos de los mismos. A partir de esta sección desarrollaremos aplicaciones más complejas, pero a la vez ordenadas de tal manera que sea sencillo su entendimiento.

Crear un método en una aplicación (en cualquier lenguaje) nos ayuda a ordenarlo, de tal manera que cuando se presenten inconvenientes al momento de ejecutar nuestro programa, sea más sencillo ubicar el error. Es por eso que se les da nombres, tales como: obtenerSuma, leerNombre, calcularPromedio … etc.

Si un método no recibe ningún valor, se le denomina método sin parametros. Por ejemplo:

calcularSuma()

Si un método recibe valores, estos se definen dentro de los paréntesis, declarando el tipo de valor que almacenará. Se denominan métodos con parametros o parametrizados. Ejemplo:

calcularSuma( int nota1, int nota2, int nota3)

Asi mismo, un método puede devolver un valor o no devolver ninguno (por ejemplo un método que solo realice acciones)

Ejemplo de un metodo que devuelve un valor:

calcularPromedio( int nota1, int nota2, int nota3){
double promedio = (nota1 + nota2 + nota3)/3;
return promedio
}

Un método que no devuele ningún valor podria ser:

calcularEstado( int nota1, int nota2, int nota3){
double promedio = (nota1 + nota2 + nota3)/3;
String estado;
if (promedio <14)
    estado= "Desaprobado";
else
    estado= "Aprobado";
}

Estas definiciones básicas seran complementadas con los ejemplos que desarrollaremos a continuación.

 


Ejercicio 1

 

Crear una aplicacion que permita realizar ventas de una tienda virtual de helados. El cliente seleccionará desde una lista desplegable el tipo de helado, y se mostrara el precio por unidad. Tambien se debe mostrar una imagen del helado seleccionado. Luego seleccionar la cantidad de helados para calcular el importe final. Mostrar una hoja de resumen luego de cada venta que se actualice por cada venta realizada

Controlar que se haya seleccionado un tipo de helados. Para este ejercicio solo considerar 3 tipos de helados, a gusto del programador. Si no se ha seleccionado ningún helado se debe impedir que el programa realice operaciones.

Solución

Crear la siguiente interfaz:


Interfaz Previa

Ahora algunas notas previas.

Sobre la parte visual… El formulario esta ordenado usando la distribucion GridLayout con 2 filas, una superior y otra inferior. Clik derecho sobre el formulario principal > Activar gestion de distribucion > Diseño de Rejilla.

Rejilla

Luego se activara la distribucion de rejilla, y se mostrará despues de nuestro panel principal. Clik a GridLayout, y en la seccion derecha seleccionar Filas, y escribir 2.

Filas

Listo, tenemos nuestro Formulario distribuido en 2 filas. Ahora, agregamos 2 paneles: El superior, que va a contener los datos como precio y cantidad, y un botón para mostrar los resultados finales. En el panel inferior es en donde se mostrarán estos resultados.

Aplicamos otra distribucion al panel superior. Clik derecho sobre él, y de la misma manera, aplicamos la distribucion de Rejilla. Esta vez aplicaremos una rejilla de 3 (columnas) x 2 (filas) para un total de 6 elementos. Luego insertaremos 1 a 1 los elementos a nuestra aplicación.

Para mostrar la imagen usaremos un JLabel, en este caso lblImagen. Usaremos el método .setIcon para mostrar la imagen correspondiente cada vez que hagamos clik. Tambien necesitamos las imagenes de los helados que vamos a mostrar. Para esto, creamos un paquete en nuestro proyecto. Clik derecho al proyecto> Nuevo > Paquete Java.

Nuevo paquete

En la ventana mostrada, escribir un nombre, por ejemplo imagenes. Luego, nos ubicamos en la carpeta donde este guardado nuestro proyecto (Por ejemplo: NetBeans Proyects >Capitulo 7) . Ubicamos la carpeta src, y luego la carpeta imagenes (o el nombre que le hayamos asignado). Aquí es donde debemos guardar nuestras imagenes, que las podemos descargar desde la web.

El precio unitario es un precio fijo, es decir sólo debería mostrarse más no poder modificarse. Para eso, selecciona el JTextField del precio unitario, y en la sección de Propiedades en la parte inferior derecha, ubica la propiedad editable y desmarca el chek que se encuentra por defecto activado.

Desactivar propiedad editable

Lo mismo para el importe, que sera el resultado del precio unitario por la cantidad. Entonces concluimos que el usuario sólo deberá elegir el helado y confirmar la compra. Las compras se iran añadiendo y mostrando en el resumen y se ira mostrando el importe final. Estos procesos serán generados por el programa.

Estos pasos seran repetitivos en los demas proyectos y ejercicios, asi que es importante familiarizarce con ellos.

Sobre la lógica de la aplicación

Cierto es que podemos solucionarlo como hemos hecho anteriormente, programando el botón Confirmar venta. Sin embargo, no es el objetivo. El objetivo de este capítulo es usar métodos para asi ser más ordenados al momento de programar.

Ahora, cada vez que hagamos clik en el JComboBox cboHelados, se deben cargar 2 datos: la imagen y el precio unitario correspondientes. Luego se debe elegir la cantidad (en este caso del 1 al 10). Automáticamente, al elegir la cantidad, se debe mostrar el importe a pagar, que sólo es un subtotal. El usuario puede no confirmar la venta si es que no le parece adecuado y elegir otros helados, asi como también confirmar la venta y elegir otros helados.

Los contadores para los totales que se iran acumulando (precios y cantidades) se declararan como variables globales, para que se puedan acceder y modificar, y guardar los valores conforme se use la aplicación.

La manera de declarar variables de manera global es:

double puFrio=2.50;
double puDolcetto=2.00;
double puKopa=1.50 ; //precios unitarios
int cantFrio, cantDolcetto, cantKopa;
double impFrio, impDolcetto, impKopa; //finales

Estos deben ser declarados como atributos de la clase principal, en nuestro caso nuestro formulario. El nombre del formulario es personal, en esta ocasión el nombre del formulario principal es «helados».

Variables Globales

Ya fácilmente se pueden identificar algunos métodos. Por ejemplo, el que cargue la imagen y el precio unitario (cargarDatos). Otro método que calcule y muestre el subtotal a pagar (calcularSubtotal). El botón»Confirmar Venta» también debe llamar un método propio, por ejemplo confirmarVenta.

Empezemos.

Categorías: Metodos personalizados
  1. 15 diciembre, 2010 a las 18:27

    no tendrás árboles binarios?

    • 17 diciembre, 2010 a las 14:46

      Hola
      Disculpa por la demora en responder. Los arboles binarios como sabes se incluyen en las estructuras dinámicas, si deseas te puedo enviar el capítulo a tu correo. Por cierto está interesante tu blog, me hubiera gustado verlo en wordpress.
      Saludos!

  1. No trackbacks yet.

Deja un comentario