Sistema de facturación de pizzerías usando Java Swing

Java es un lenguaje de programación fascinante que brinda a sus usuarios una gran cantidad de características como programación orientada a objetos, independencia de la plataforma, simplicidad, programación basada en GUI, etc. Una de esas características es la creación de aplicaciones sólidas utilizando el kit de herramientas Swing proporcionado por Java Foundation Classes . Esto se puede usar para crear componentes visuales livianos para aplicaciones simples, como calculadora EMI, calculadora de impuestos, sistemas de facturación, sistemas de administración de registros, etc. Este artículo tiene como objetivo guiar a los principiantes sobre cómo crear una aplicación Java basada en GUI usando el kit de herramientas Java Swing .

Considere el escenario de una pizzería local que está cambiando de su enfoque tradicional de calcular manualmente las facturas a un sistema de facturación automático. De acuerdo con sus requisitos, el cliente debe elegir dos cosas 

  1. El tipo base de pizza
  2. Elección de coberturas

Sobre esta base, se calcula e imprime el importe total. Una pizza puede tener más de 1 ingrediente, pero solo puede tener un tipo de corteza a la vez. A continuación se muestran los detalles de precios para crear la aplicación.

Pan pizza Relleno Regular Cebolla Queso Tomate Maíz bebe
Rs. 200 Rs. 300 Rs. 150 Rs. 60 Rs. 30 Rs. 40 Rs. 50

Ventaja de Java swing sobre una aplicación simple 

  1. No es necesario manejar grandes fragmentos de código, lo que reduce la complejidad de la programación.
  2. Proporciona un editor basado en GUI (interfaz gráfica de usuario) para facilitar la comprensión

Netbeans se usa para crear aplicaciones GUI ya que es un IDE de código abierto bien diseñado que proporciona características de un inspector de componentes, widgets de arrastrar y soltar, depurador, navegador de objetos, etc. 

Pasos para crear el Sistema de Facturación de Pizzerías:

Siga los pasos para crear la aplicación.

  • Cree una nueva aplicación Java haciendo clic en Nuevo proyecto -> Java -> Aplicación Java y asigne un nombre de proyecto adecuado. Por ejemplo: GeeksForGeeks y haga clic en Finalizar. 

Haga clic en Nuevo proyecto

  • Ahora cree un nuevo archivo yendo a la opción Archivo en la barra de menú, luego Nuevo archivo-> Formularios GUI de Swing -> Formulario JFrame,   y asigne un nombre de archivo adecuado. P.ej. PizzaBill.java y haga clic en Finalizar.
     

  • Después de la creación exitosa del archivo, ahora se le presentará la siguiente pantalla. Las 3 partes importantes de esta ventana son: 
    1. Diseño: Esta es el área donde crearemos el diseño/plantilla de nuestra aplicación.
    2. Fuente: Aquí es donde se escribe el código lógico del programa.
    3. Paleta: este componente contiene todos los widgets que necesitamos arrastrar y soltar en el área de diseño.
  • Ahora, antes de codificar y arrastrar los widgets de la paleta, cree un diseño aproximado de lo que se necesita exactamente en la aplicación. Esto le da al programador una mejor comprensión de lo que se espera exactamente del enunciado del problema. Java Swing contiene muchos componentes o controles, pero es necesario comprender qué necesita nuestra aplicación. Según el diagrama aproximado a continuación, la aplicación debe mostrar información que no se puede editar. Por ejemplo, el nombre de la empresa, las opciones de menú, etc. Aquí es donde usamos Jlabel (control de etiqueta de Java). Ahora, según la elección del usuario, la información debe ingresarse en el sistema, por lo que usamos un control JTextField . Según el problema, una pizza puede tener más de 1 ingrediente pero solo un tipo de corteza a la vez. Por lo tanto, usamos JCheckBoxy controles JRadioButton respectivamente. Ahora, para agrupar y mantener todos los componentes similares, como botones de radio y casillas de verificación, puede usar JPanel . Por último, necesitamos un botón de comando/acción que se usa para ejecutar la lógica del programa. Esto se hace con la ayuda de JButton .

Diseño aproximado de la aplicación esperada

  • Ahora, desde la paleta situada en el lado derecho de la ventana, comience a arrastrar los widgets del kit de herramientas según el diagrama anterior.

Arrastre componentes de la paleta al área de diseño

  • Después de mover todos los componentes, su diseño debería verse así.

Diseño del sistema de facturación de pizza

  • Veamos ahora rápidamente el uso de cada componente en el programa tabulado a continuación. Consulte los números de objeto correspondientes de la imagen anterior.
No. Tipo de objeto Nombre del objeto Descripción
1 Etiqueta jLabel1: Calculadora de factura de pizza bistró Describe el título de la aplicación.
    jLabel2: Nº de pedido Define el número de orden
    jLabel3: Nombre del cliente Define el nombre del cliente
    jLabel4: Cantidad Define la cantidad de pizza
    jLabel5: Tasa Define la tarifa de cada tipo de pizza
    jLabel6: Cantidad Define el importe total a pagar
    jLabel7: Costo de los ingredientes Define el costo total de los ingredientes
2 Caja de texto jTextField1 Variable 1
    jTextField2 Variable 2
    jTextField3 Variable 3
    jTextField4 variable 4
    jTextField5 Variable 5
    jTextField6 Variable 6
3 Panel jPanel1 Contenedor para guardar componentes
    jPanel2 Contenedor para guardar componentes
4 Botones de radio jRadioButton1 Elección de Pan Pizza
    jRadioButton2 Elección de masa rellena
    jRadioButton3 Elección de pizza regular
5 Caja jCheckBox1 Opción de Cebolla 
    jCheckBox2 Opción de Queso
    jCheckBox3 Opción para Tomate
    jCheckBox4 Opción para maíz tierno
6 Botón de comando jButton1 genera factura
    jButton2 Borra el contenido de todos los componentes
7 Área de texto (Opcional) jTextArea1 Muestra información relacionada con el cliente y detalles de facturación
  • Ahora, para escribir el código, haga doble clic en jButton1 , será dirigido a la pestaña fuente. Aquí escriba el siguiente código.

Escriba el código debajo del botón de acción JButton1

Java

// Takes input from TextFields
int orderno
    = Integer.parseInt(
        jTextField1.getText());
String custname
    = jTextField2.getText();
int qty
    = Integer.parseInt(
        jTextField3.getText());
double rate = 0;
 
// Pizza Type conditions
if (jRadioButton1.isSelected()) {
    rate = 200;
}
else if (jRadioButton2.isSelected()) {
    rate = 300;
}
else if (jRadioButton3.isSelected()) {
    rate = 150;
}
// Displays rate of selected pizza
// type in TextField
jTextField4.setText(
    "" + rate);
 
double topamt = 0;
 
// Pizza toppings conditions
if (jCheckBox1.isSelected()) {
    topamt = 60;
}
if (jCheckBox2.isSelected()) {
    topamt = topamt + 30;
}
if (jCheckBox3.isSelected()) {
    topamt = topamt + 40;
}
if (jCheckBox4.isSelected()) {
    topamt = topamt + 50;
}
// Displays total amount of
// selected pizza toppings in TextField
jTextField6.setText(
    ""
    + topamt);
 
// Total amount is calculated
double totalpayable
    = (rate * qty) + topamt;
jTextField5.setText("" + totalpayable);
 
// Displays order details
jTextArea1
    .setText(
        "Hello, your Order Id is: " + orderno
        + "\nName: " + custname
        + "\nAMOUNT PAYABLE IS: " + totalpayable);
  • Ahora, para borrar todos los campos de texto, áreas de texto, botones de radio y casillas de verificación, escriba el siguiente código en la opción jButton2 ActionPerformed que se puede lograr haciendo clic dos veces en el botón Borrar en el área de diseño.

Java

jTextField1.setText("");
jTextField2.setText("");
jTextField3.setText("");
jTextField4.setText("");
jTextField5.setText("");
jTextField6.setText("");
jRadioButton1.setSelected(false);
jRadioButton2.setSelected(false);
jRadioButton3.setSelected(false);
jCheckBox1.setSelected(false);
jCheckBox2.setSelected(false);
jCheckBox3.setSelected(false);
jCheckBox4.setSelected(false);
jTextArea1.setText("");
  • Esto completa la creación de la aplicación. Ingrese los detalles necesarios y seleccione la opción Ejecutar archivo en el menú desplegable.

salida final

Producción: 
 

Publicación traducida automáticamente

Artículo escrito por minsuga98 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *