package ShoppingCart;
public class Product {
private String name;
private int quantity;
private double unitPrice;
public Product(String name, int quantity, double unitPrice) {
this.name=name;
this.quantity=quantity;
this.unitPrice=unitPrice;
}
public String toString() {
return name+" "+getQuantity()+" "+getUnitPrice();
}
public int getQuantity() {
return quantity;
}
public double getUnitPrice() {
return unitPrice;
}
}
package ShoppingCart;
import java.util.Collection;
import java.util.Iterator;
import java.util.Vector;
public class ShoppingCart {
private Collection products;
public ShoppingCart() {
products = new Vector();
}
public void addProduct(Product product) {
products.add(product);
}
public String toString() {
Iterator iterator = products.iterator();
String st = "";
while (iterator.hasNext()) {
st += ((Product) iterator.next()).toString() + '\n';
}
return st;
}
public double getTotalValue() {
Iterator iterator = products.iterator();
double total = 0;
Product product;
while (iterator.hasNext()) {
product = ((Product) iterator.next());
total += product.getQuantity()*product.getUnitPrice();
}
return total;
}
public void clear() {
products.clear();
}
}
import java.applet.Applet;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import ShoppingCart.Product;
import ShoppingCart.ShoppingCart;
public class ShoopingCartApplet extends Applet implements ActionListener {
private Panel inputPanel;
private TextField nameTextField;
private TextField quantityTextField;
private TextField unitPriceTextField;
private Button addButton;
private Button checkOutButton;
private Button checkTotalButton;
private TextArea outputTextArea;
private TextArea messageTextArea;
private ShoppingCart shoppingCart;
public void actionPerformed(ActionEvent e) {
try {
if (e.getSource().equals(addButton)) {
shoppingCart.addProduct(new Product(nameTextField.getText(),
Integer.parseInt(quantityTextField.getText()),
Double.parseDouble(unitPriceTextField.getText())));
outputTextArea.setText("");
outputTextArea.setText(shoppingCart.toString());
} else if (e.getSource().equals(checkTotalButton)){
outputTextArea.append("Total is: "+shoppingCart.getTotalValue());
} else {
shoppingCart.clear();
outputTextArea.setText("");
}
} catch (NumberFormatException nfe) {
messageTextArea.setText("INVALID INPUT: " + nfe.toString());
}
}
public void init() {
shoppingCart = new ShoppingCart();
inputPanel = new Panel();
nameTextField = new TextField(15);
quantityTextField = new TextField(5);
unitPriceTextField = new TextField(10);
addButton = new Button("buy");
checkTotalButton = new Button("check total");
checkOutButton = new Button("check out");
outputTextArea = new TextArea(15,90);
messageTextArea = new TextArea("",5,90,TextArea.SCROLLBARS_NONE);
inputPanel.add(new Label("Product"));
inputPanel.add(nameTextField);
inputPanel.add(new Label("Quantity"));
inputPanel.add(quantityTextField);
inputPanel.add(new Label("Unit Price"));
inputPanel.add(unitPriceTextField);
inputPanel.add(addButton);
inputPanel.add(checkTotalButton);
inputPanel.add(checkOutButton);
add(inputPanel);
add(outputTextArea);
add(messageTextArea);
addButton.addActionListener(this);
checkTotalButton.addActionListener(this);
checkOutButton.addActionListener(this);
}
}
Previou page | Next page |