twinclw2002
Programmer
i just wrote this program but i cant take the sub total and the price of the products display correctly also the vat ect ect please help me
// Inner class declarations used to create event handlers.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
public class Tesco extends Frame implements ActionListener,ItemListener{
ArrayList basket = new ArrayList();
double [] itemPrice = new double [10];
int[] count = {0,0,0,0,0,0,0,0,0,0};
double [] price = {0.35,1.00,0.50,1.15,2.50,0.50,1.30,0.75,0.65,1.00};
private Label display,welcome;
private Button exitButton,addToBasket,show;
private JComboBox selectNo;
Choice selectItem = new Choice();
private TextField priceItem,subTotal,VAT,totalPrice,selectKG,changeGiven;
TextArea itemsBought = new TextArea(10, 12);
double cost = 0.0f;
// set up GUI
public Tesco () {
// The Title Bar Display
super( "Tesco Suppermarket" );
//____________________________________________________________________________________________________________________________________________
String choises[] = {"", "Baked Beans", "CornFlakes", "Sugar","Tea Bags", "Instant Coffe", "Bread", "Sausages", "Eggs", "Milk", "Patatoes"};
String quantity[] = {"", "1", "2", "3", "4","5","6","7","8","9"} ;
//____________________________________________________________________________________________________________________________________________
setLayout ( new FlowLayout(FlowLayout.LEFT,10,20)) ; // Method llows more than one command button to be entered
setFont(new Font("Courier", Font.BOLD, 20)); // change font
setBackground(Color.red);
//---------------------------------------------------------------------------------------------------------------
//***************************************************
display = new Label ("Please Select One Of The Items"
;
display.setBackground(Color.yellow);
selectItem.addItem("Baked Beans"
;
selectItem.addItem("CornFlakes "
;
selectItem.addItem("Sugar "
;
selectItem.setBackground(Color.green);
add(display);
add(selectItem);
selectItem.addItemListener(this);
//selectItem.addActionListener(this);
//'''''''''''''''''''''''''''''''''''''''''''''''''''''
display = new Label ("Please Select The Quantity"
;
display.setBackground(Color.yellow);
selectNo = new JComboBox(quantity);
selectNo.setBackground(Color.green);
selectKG = new TextField (" "
;
add(display);add(selectNo);add(selectKG);
selectKG.setVisible(false);
//selectNo.addItemListener(this);
//selectNo.addActionListener(this);
//========================================================================
display = new Label ("Price Displayed For Items Selected"
;
display.setBackground(Color.yellow);
priceItem = new TextField("£ 0.00"
;
add(display);
add(priceItem);
priceItem.setEditable(false);
priceItem.setBackground(Color.white);
//¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬
display = new Label ("\n\n\n\n\n\nItems Bought\n\n\n\n"
;
itemsBought = new TextArea();
add(display);
add(itemsBought );
itemsBought.setEditable(false);
itemsBought.setBackground(Color.white);
//""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
display = new Label ("Subtotal"
;
display.setBackground(Color.green);
subTotal = new TextField (" "
;
add(display);
add(subTotal);
subTotal.setEditable(false);
subTotal.setBackground(Color.orange);
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
display = new Label ("VAT"
;
display.setBackground(Color.green);
VAT = new TextField (" "
;
add(display);
add(VAT);
VAT.setEditable(false);
VAT.setBackground(Color.orange);
display = new Label ("Price"
;
display.setBackground(Color.green);
totalPrice = new TextField (" "
;
add(display);
add(totalPrice);
totalPrice.setEditable(false);
totalPrice.setBackground(Color.orange);
display = new Label ("Change"
;
display.setBackground(Color.green);
changeGiven = new TextField(" "
;
add(display);
add(changeGiven);
changeGiven.setEditable(false);
changeGiven.setBackground(Color.orange);
show = new Button ("Add To Basket"
;
add(show);
show.setBackground(Color.red);
} // end constructor
public void paint (Graphics g) {
for (int i =0 ;i <basket.size() ;i++ )
{
g.drawString(basket.get(i) + "" + count, 50, 300+20*i);
}
}
public void insert (String s, double p, ArrayList a, int [] c, double []d) {
int i = a.indexOf(s);
if (i < 0)
{
a.add(s);
c[a.size()-1]++;
d[a.size()-1]=p;
}
else c++;
cost +=p;
String con ="";
for (int j=0;j<basket.size() ; j++)
{
con += (basket.get(j) + "\t\t\t\t\t\t\t" + count[j] + "\t\t\t\t\t\t\t" + cost + "\n"
;
//con += "Bill is £ " + cost;
itemsBought.setText(con);
}
}
public void actionPerformed (ActionEvent e) {
/*
String contents = "";
String quantity = "";
contents = (String) selectItem.getSelectedItem();
if (contents =="Patatoes"
{
selectKG.setVisible(true);
selectNo.setVisible(false);
}
else
{
selectKG.setVisible(false);
selectNo.setVisible(true);
}
quantity = (String) selectNo.getSelectedItem();
for(int j = 0; j < basket.size(); ++j) {
//contents += basket.get(j) + "\n" ;
// contents += "\n\n";
}
//itemsBought.setText(contents);
for (int i = 0;i < basket.size() ;++i )
{
contents += basket.get(i);
}
*/
}
public void itemStateChanged (ItemEvent e)
{
insert (selectItem.getSelectedItem(), price [selectItem.getSelectedIndex()],basket,count,itemPrice);
// String contents = "";
// String quantity = "";
//contents = (String) selectItem.getSelectedItem();
/*
if (contents =="Patatoes"
{
selectKG.setVisible(true);
selectNo.setVisible(false);
}
else
{
selectKG.setVisible(false);
selectNo.setVisible(true);
}
quantity = (String) selectNo.getSelectedItem();
for(int j = 0; j < basket.size(); ++j) {
//contents += basket.get(j) + "\n" ;
// contents += "\n\n";
}
//itemsBought.setText(contents);
for (int i = 0;i < basket.size() ;++i )
{
contents += basket.get(i);
}
*/
}
public static void main( String args[] ) {
Tesco window = new Tesco();
window.addWindowListener(
new WindowAdapter() {
public void windowClosing (WindowEvent e){
System.exit(0);
}
}
);
window.setSize( 820, 570 );
window.setVisible( true );
}
} // end class TimeTestWindow
// Inner class declarations used to create event handlers.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
public class Tesco extends Frame implements ActionListener,ItemListener{
ArrayList basket = new ArrayList();
double [] itemPrice = new double [10];
int[] count = {0,0,0,0,0,0,0,0,0,0};
double [] price = {0.35,1.00,0.50,1.15,2.50,0.50,1.30,0.75,0.65,1.00};
private Label display,welcome;
private Button exitButton,addToBasket,show;
private JComboBox selectNo;
Choice selectItem = new Choice();
private TextField priceItem,subTotal,VAT,totalPrice,selectKG,changeGiven;
TextArea itemsBought = new TextArea(10, 12);
double cost = 0.0f;
// set up GUI
public Tesco () {
// The Title Bar Display
super( "Tesco Suppermarket" );
//____________________________________________________________________________________________________________________________________________
String choises[] = {"", "Baked Beans", "CornFlakes", "Sugar","Tea Bags", "Instant Coffe", "Bread", "Sausages", "Eggs", "Milk", "Patatoes"};
String quantity[] = {"", "1", "2", "3", "4","5","6","7","8","9"} ;
//____________________________________________________________________________________________________________________________________________
setLayout ( new FlowLayout(FlowLayout.LEFT,10,20)) ; // Method llows more than one command button to be entered
setFont(new Font("Courier", Font.BOLD, 20)); // change font
setBackground(Color.red);
//---------------------------------------------------------------------------------------------------------------
//***************************************************
display = new Label ("Please Select One Of The Items"
display.setBackground(Color.yellow);
selectItem.addItem("Baked Beans"
selectItem.addItem("CornFlakes "
selectItem.addItem("Sugar "
selectItem.setBackground(Color.green);
add(display);
add(selectItem);
selectItem.addItemListener(this);
//selectItem.addActionListener(this);
//'''''''''''''''''''''''''''''''''''''''''''''''''''''
display = new Label ("Please Select The Quantity"
display.setBackground(Color.yellow);
selectNo = new JComboBox(quantity);
selectNo.setBackground(Color.green);
selectKG = new TextField (" "
add(display);add(selectNo);add(selectKG);
selectKG.setVisible(false);
//selectNo.addItemListener(this);
//selectNo.addActionListener(this);
//========================================================================
display = new Label ("Price Displayed For Items Selected"
display.setBackground(Color.yellow);
priceItem = new TextField("£ 0.00"
add(display);
add(priceItem);
priceItem.setEditable(false);
priceItem.setBackground(Color.white);
//¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬
display = new Label ("\n\n\n\n\n\nItems Bought\n\n\n\n"
itemsBought = new TextArea();
add(display);
add(itemsBought );
itemsBought.setEditable(false);
itemsBought.setBackground(Color.white);
//""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
display = new Label ("Subtotal"
display.setBackground(Color.green);
subTotal = new TextField (" "
add(display);
add(subTotal);
subTotal.setEditable(false);
subTotal.setBackground(Color.orange);
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
display = new Label ("VAT"
display.setBackground(Color.green);
VAT = new TextField (" "
add(display);
add(VAT);
VAT.setEditable(false);
VAT.setBackground(Color.orange);
display = new Label ("Price"
display.setBackground(Color.green);
totalPrice = new TextField (" "
add(display);
add(totalPrice);
totalPrice.setEditable(false);
totalPrice.setBackground(Color.orange);
display = new Label ("Change"
display.setBackground(Color.green);
changeGiven = new TextField(" "
add(display);
add(changeGiven);
changeGiven.setEditable(false);
changeGiven.setBackground(Color.orange);
show = new Button ("Add To Basket"
add(show);
show.setBackground(Color.red);
} // end constructor
public void paint (Graphics g) {
for (int i =0 ;i <basket.size() ;i++ )
{
g.drawString(basket.get(i) + "" + count, 50, 300+20*i);
}
}
public void insert (String s, double p, ArrayList a, int [] c, double []d) {
int i = a.indexOf(s);
if (i < 0)
{
a.add(s);
c[a.size()-1]++;
d[a.size()-1]=p;
}
else c++;
cost +=p;
String con ="";
for (int j=0;j<basket.size() ; j++)
{
con += (basket.get(j) + "\t\t\t\t\t\t\t" + count[j] + "\t\t\t\t\t\t\t" + cost + "\n"
//con += "Bill is £ " + cost;
itemsBought.setText(con);
}
}
public void actionPerformed (ActionEvent e) {
/*
String contents = "";
String quantity = "";
contents = (String) selectItem.getSelectedItem();
if (contents =="Patatoes"
{
selectKG.setVisible(true);
selectNo.setVisible(false);
}
else
{
selectKG.setVisible(false);
selectNo.setVisible(true);
}
quantity = (String) selectNo.getSelectedItem();
for(int j = 0; j < basket.size(); ++j) {
//contents += basket.get(j) + "\n" ;
// contents += "\n\n";
}
//itemsBought.setText(contents);
for (int i = 0;i < basket.size() ;++i )
{
contents += basket.get(i);
}
*/
}
public void itemStateChanged (ItemEvent e)
{
insert (selectItem.getSelectedItem(), price [selectItem.getSelectedIndex()],basket,count,itemPrice);
// String contents = "";
// String quantity = "";
//contents = (String) selectItem.getSelectedItem();
/*
if (contents =="Patatoes"
{
selectKG.setVisible(true);
selectNo.setVisible(false);
}
else
{
selectKG.setVisible(false);
selectNo.setVisible(true);
}
quantity = (String) selectNo.getSelectedItem();
for(int j = 0; j < basket.size(); ++j) {
//contents += basket.get(j) + "\n" ;
// contents += "\n\n";
}
//itemsBought.setText(contents);
for (int i = 0;i < basket.size() ;++i )
{
contents += basket.get(i);
}
*/
}
public static void main( String args[] ) {
Tesco window = new Tesco();
window.addWindowListener(
new WindowAdapter() {
public void windowClosing (WindowEvent e){
System.exit(0);
}
}
);
window.setSize( 820, 570 );
window.setVisible( true );
}
} // end class TimeTestWindow