MP 6
MP 6
*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
String[] itemCodes = {"001", "002", "003", "004", "005", "006", "007", "008",
"009", "010", "011"};
String[] itemDescriptions = {"Beverage", "Rice", "Apparel", "Liquor", "Flour",
"Vinegar", "Soy Sauce", "Patis", "Beef", "Pork", "Chicken"};
double[] itemPrices = {50, 50, 300, 250, 50, 35, 20, 18, 350, 300, 320};
public MP6() {
setTitle("ABC Company - Point of Sale System");
setSize(600, 400);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLayout(null);
add(lblTitle);
add(lblSubtitle);
add(lblItemCode);
add(txtItemCode);
add(lblItemDescription);
add(lblDescription);
add(lblItemPrice);
add(lblPrice);
add(lblItemQuantity);
add(txtItemQuantity);
add(lblTotalAmountLabel);
add(lblTotalAmount);
add(lblAmountTendered);
add(txtAmountTendered);
add(lblChangeLabel);
add(lblChange);
add(btnCompute);
add(btnClear);
add(btnExit);
btnCompute.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
computeTotal();
}
});
btnClear.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
clearFields();
}
});
btnExit.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
setVisible(true);
}
void computeTotal() {
String itemCode = txtItemCode.getText();
int quantity;
double amountTendered;
try {
quantity = Integer.parseInt(txtItemQuantity.getText());
amountTendered = Double.parseDouble(txtAmountTendered.getText());
} catch (NumberFormatException e) {
JOptionPane.showMessageDialog(this, "Please enter valid numeric values
for Quantity and Amount Tendered.");
return;
}
if (itemIndex == -1) {
JOptionPane.showMessageDialog(this, "Invalid Item Code.");
return;
}
lblDescription.setText(description);
lblPrice.setText(String.format("%.2f", price));
lblTotalAmount.setText(String.format("%.2f", totalAmount));
lblChange.setText(String.format("%.2f", change < 0 ? 0 : change));
if (change < 0) {
JOptionPane.showMessageDialog(this, "Insufficient Amount Tendered.");
}
}
void clearFields() {
txtItemCode.setText("");
txtItemQuantity.setText("");
txtAmountTendered.setText("");
lblDescription.setText(" ");
lblPrice.setText(" ");
lblTotalAmount.setText(" ");
lblChange.setText(" ");
}