foodhub

 avatar
unknown
java
4 days ago
5.8 kB
0
Indexable
import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.SwingConstants;

class FoodHub {
  public static void main(String[] args) {
    JFrame frame = new JFrame("Justine B. Agcanas");
    JPanel panel = new JPanel();
    JLabel header1 = new JLabel("FOOD ", SwingConstants.RIGHT);
    JLabel header2 = new JLabel("HUB");

    JLabel product1 = new JLabel("Hotdog Php.20");
    JButton minus1 = new JButton("-");
    JLabel quantity1 = new JLabel("0", SwingConstants.CENTER);
    JButton plus1 = new JButton("+");

    JLabel product2 = new JLabel("Adobo Php.40");
    JButton minus2 = new JButton("-");
    JLabel quantity2 = new JLabel("0", SwingConstants.CENTER);
    JButton plus2 = new JButton("+");

    JLabel product3 = new JLabel("Pork Chop Php.50");
    JButton minus3 = new JButton("-");
    JLabel quantity3 = new JLabel("0", SwingConstants.CENTER);
    JButton plus3 = new JButton("+");

    JLabel product4 = new JLabel("Sisig Php.45");
    JButton minus4 = new JButton("-");
    JLabel quantity4 = new JLabel("0", SwingConstants.CENTER);
    JButton plus4 = new JButton("+");

    JLabel product5 = new JLabel("Igado Php.35");
    JButton minus5 = new JButton("-");
    JLabel quantity5 = new JLabel("0", SwingConstants.CENTER);
    JButton plus5 = new JButton("+");

    JButton order = new JButton("ORDER");
    JTextArea receipt = new JTextArea();

    panel.setLayout(null);
    panel.setBounds(0, 0, 500, 600);
    panel.setBackground(Color.black);

    header1.setFont(new Font("Calibri", Font.BOLD, 25));
    header1.setForeground(Color.white);
    header1.setBounds(170, 20, 80, 50);
    header1.setOpaque(false);

    header2.setFont(new Font("Calibri", Font.BOLD, 25));
    header2.setForeground(Color.black);
    header2.setBackground(Color.orange);
    header2.setBounds(250, 20, 80, 50);
    header2.setOpaque(true);

    JLabel[] products = { product1, product2, product3, product4, product5 };
    JButton[] minusBtn = { minus1, minus2, minus3, minus4, minus5 };
    JLabel[] quantities = { quantity1, quantity2, quantity3, quantity4, quantity5 };
    JButton[] plusBtn = { plus1, plus2, plus3, plus4, plus5 };
    int[] prices = { 20, 40, 50, 45, 35 };

    for (int i = 0; i < products.length; i++) {
      products[i].setBounds(50, 100 + (i * 40), 200, 30);
      products[i].setFont(new Font("Calibri", Font.PLAIN, 20));
      products[i].setForeground(Color.white);
      products[i].setOpaque(false);

      minusBtn[i].setBounds(270, 100 + (i * 40), 30, 30);
      minusBtn[i].setBackground(Color.orange);
      minusBtn[i].setFont(new Font("Calibri", Font.PLAIN, 15));
      minusBtn[i].setBorder(null);

      quantities[i].setBounds(320, 100 + (i * 40), 30, 30);
      quantities[i].setFont(new Font("Calibri", Font.PLAIN, 16));
      quantities[i].setForeground(Color.white);
      quantities[i].setOpaque(false);

      plusBtn[i].setBounds(370, 100 + (i * 40), 30, 30);
      plusBtn[i].setBackground(Color.orange);
      plusBtn[i].setFont(new Font("Calibri", Font.PLAIN, 15));
      plusBtn[i].setBorder(null);
    }

    for (int i = 0; i < plusBtn.length; i++) {
      int index = i;
      plusBtn[i].addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
          int quantity = Integer.parseInt(quantities[index].getText());
          quantity++;
          quantities[index].setText(Integer.toString(quantity));
        }
      });

      minusBtn[i].addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
          int quantity = Integer.parseInt(quantities[index].getText());
          if (quantity > 0) {
            quantity--;
            quantities[index].setText(Integer.toString(quantity));
          }
        }
      });
    }

    order.setBounds(150, 300, 200, 40);
    order.setFont(new Font("Calibri", Font.BOLD, 20));
    order.setBackground(Color.orange);
    order.setForeground(Color.white);
    order.setBorder(null);

    order.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        int totalAmount = 0;
        StringBuilder resibo = new StringBuilder("\tFOODHUB RECEIPT\n\n");

        for (int i = 0; i < quantities.length; i++) {
          int quantity = Integer.parseInt(quantities[i].getText());
          if (quantity > 0) {
            int total = prices[i] * quantity;
            String productName = products[i].getText().split(" Php")[0];
            resibo.append("     ").append(quantity).append("  ").append(productName).append("\t\t").append(total)
                .append("\n");
            totalAmount += total;
          }
        }

        resibo.append("Total\t\t").append(totalAmount);
        if (totalAmount > 0) {
          receipt.setText(resibo.toString());
          receipt.setVisible(true);
        } else {
          receipt.setVisible(false);
        }
      }
    });

    receipt.setBounds(50, 360, 400, 200);
    receipt.setFont(new Font("Calibri", Font.PLAIN, 16));
    receipt.setEditable(false);
    receipt.setVisible(false);

    frame.setSize(500, 600);
    frame.setVisible(true);
    frame.setLayout(null);
    frame.setResizable(false);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    frame.add(header1);
    frame.add(header2);
    for (int i = 0; i < products.length; i++) {
      frame.add(products[i]);
      frame.add(minusBtn[i]);
      frame.add(quantities[i]);
      frame.add(plusBtn[i]);
    }
    frame.add(order);
    frame.add(receipt);
    frame.add(panel);
  }
}
Leave a Comment