Advertisement
youmed

Supermarket w/ GUI

Nov 3rd, 2013
834
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
LScript 12.55 KB | None | 0 0
  1. package superMarket;
  2.  
  3. import java.awt.Color;
  4. import java.awt.Dimension;
  5. import java.awt.Font;
  6. import java.awt.Insets;
  7. import java.awt.event.ActionEvent;
  8. import java.awt.event.ActionListener;
  9.  
  10. import javax.swing.JButton;
  11. import javax.swing.JFrame;
  12. import javax.swing.JPanel;
  13. import javax.swing.JTextArea;
  14. import javax.swing.JTextField;
  15.  
  16. public class Program extends JPanel{
  17.     static JButton braeburnApple, galaApple, tangerine, orange;
  18.     static JButton addBrae, addGala, addTan, addOrange, finished;
  19.     static JTextField tasteField , tasteFieldTan , tasteFieldGala, tasteFieldOrange;
  20.     static JTextField colourField, colourFieldTan, colourFieldGala, colourFieldOrange;
  21.     static JTextField edibleField;
  22.     static JTextField priceField ,priceFieldTan, priceFieldGala, priceFieldOrange;
  23.     static JTextField weightFieldBrae, weightFieldTan, weightFieldGala, weightFieldOrange;
  24.     static JTextArea instructions;
  25.     static float pricePerKGTan, pricePerKGBrae, pricePerKGGala, pricePerKGOrange;
  26.     static String sNameTan, sNameBrae, sNameGala, sNameOrange;
  27.     static String sEdibleTan, sEdibleBrae, sEdibleGala, sEdibleOrange;
  28.     static String sColourTan, sColourBrae, sColourGala, sColourOrange;
  29.     static String sTasteTan, sTasteBrae, sTasteGala, sTasteOrange;
  30.     static String instruction1, instruction2, instruction3;
  31.    
  32.    
  33. //MADE BY YOUSUF 10C
  34.     public Program(){
  35.         Font textFont = new Font("Sans", Font.PLAIN, 24);
  36.         Font buttonFont = new Font("Comic SANS MS", Font.PLAIN, 18);
  37.         instruction1 = "1.Click on the fruit to find out more about it.";
  38.         instruction2 = "2.In the Text Field underneath put the amount you would like to buy in KG, if any at all.";
  39.         instruction3 = "3.When you are finished, click finished!";
  40.                
  41.             setLayout(null);
  42.        
  43.            braeburnApple = new JButton("Braeburn Apple");
  44.           galaApple = new JButton("Gala Apple");
  45.          tangerine = new JButton("Tangerine");
  46.          orange = new JButton("Orange");
  47.          
  48.           addBrae = new JButton("ADD Braeburn Apple: ");
  49.          addGala = new JButton("ADD Gala Apple: ");
  50.            addTan = new JButton("ADD Tangerine: ");
  51.          addOrange = new JButton("ADD Orange: ");
  52.            finished = new JButton("Are you finished?" );
  53.        
  54.         //tangerine instantiating objects
  55.               Fruit ftangerine = new Fruit("Tangerine");
  56.              sNameTan = "Tangerine";
  57.               sEdibleTan= ftangerine.edible= "yes";
  58.                 pricePerKGTan = ftangerine.pricePerKg = 1.98f;
  59.                sColourTan = ftangerine.sColour= "orange";
  60.               sTasteTan = ftangerine.taste = "mildly sour";
  61.            
  62.            
  63.             //braeburn apples instantiating objects
  64.               Fruit braeburnApples = new Fruit("Braeburn Apples");
  65.                sNameBrae = "Braeburn Apples";
  66.               sEdibleBrae= braeburnApples.edible= "yes";
  67.               pricePerKGBrae = braeburnApples.pricePerKg = 2.43f;
  68.                sColourBrae = braeburnApples.sColour= "red";
  69.                sTasteBrae =  braeburnApples.taste = " very sour";
  70.            
  71.             //gala apples instantiating objects
  72.              Fruit galaApples = new Fruit("Gala Apples");
  73.               sNameGala = "Gala Apples";
  74.               sEdibleGala = galaApples.edible= "yes";
  75.              pricePerKGGala = galaApples.pricePerKg = 2.11f;
  76.                sColourGala = galaApples.sColour= "red";
  77.               sTasteGala =  galaApples.taste = "sweet";
  78.            
  79.             //orange instantiating objects
  80.               Fruit forange = new Fruit("orange");
  81.                sNameOrange = "orange";
  82.                sEdibleOrange= forange.edible= "yes";
  83.                pricePerKGOrange = forange.pricePerKg = 2.99f;
  84.               sColourOrange = forange.sColour= "orange";
  85.                sTasteOrange = forange.taste = "little bit sweet";
  86.            
  87.                Dimension size2 = addBrae.getPreferredSize();
  88.                
  89.                 Insets insets = getInsets();
  90.                 Insets insets2 = getInsets();
  91.                 //adding buttons to the frame, setting sizes and colours
  92.                
  93.                 finished.setBackground(Color.green);
  94.                 finished.setBounds(700 + insets.left, 600 + insets.top, size2.width, size2.height);
  95.                 finished.setFont(buttonFont);
  96.                 finished.setSize(200, 200);
  97.                 add(finished);
  98.                
  99.                 addBrae.setBackground(Color.cyan);
  100.                 addBrae.setBounds(30 + insets.left, 5 + insets.top, size2.width, size2.height);
  101.                 braeburnApple.setSize(30,30);
  102.                 add(addBrae);
  103.                
  104.                 addGala.setBackground(Color.cyan);
  105.                 addGala.setBounds(400 + insets.left, 5 + insets.top, size2.width, size2.height);
  106.                 galaApple.setSize(30,30);
  107.                 add(addGala);
  108.  
  109.  
  110.                
  111.                 addOrange.setBackground(Color.cyan);
  112.                 addOrange.setBounds(400 + insets.left, 300 + insets.top, size2.width, size2.height);
  113.                 orange.setSize(30,30);
  114.                 add(addOrange);
  115.                
  116.                 addTan.setBackground(Color.cyan);
  117.                 addTan.setBounds(30 + insets.left, 300 + insets.top, size2.width, size2.height);
  118.                 tangerine.setSize(30,30);
  119.                 add(addTan);
  120.  
  121.                
  122.                
  123.                 braeburnApple.setBackground(Color.red);
  124.                 Dimension size = braeburnApple.getPreferredSize();
  125.                 braeburnApple.setFont(buttonFont);
  126.                 braeburnApple.setBounds(30 + insets.left, 5 + insets.top, size.width, size.height);
  127.                 braeburnApple.setSize(200,200);
  128.                 add(braeburnApple);
  129.                
  130.                
  131.                
  132.                
  133.                
  134.                 galaApple.setBackground(Color.green);
  135.                 galaApple.setBounds(400 + insets.left, 5 + insets.top, size.width, size.height);
  136.                 galaApple.setFont(buttonFont);
  137.                 galaApple.setSize(200,200);
  138.                
  139.                 add(galaApple);
  140.                
  141.                
  142.  
  143.                 tangerine.setBackground(Color.orange);
  144.                 tangerine.setBounds(30 + insets.left, 300 + insets.top, size.width, size.height);
  145.                 tangerine.setFont(buttonFont);
  146.                 tangerine.setSize(200,200);
  147.  
  148.                 add(tangerine);
  149.                
  150.                
  151.                 orange.setBackground(Color.green);
  152.                 orange.setBounds(400 + insets.left, 300 + insets.top, size.width, size.height);
  153.                 orange.setFont(buttonFont);
  154.                 orange.setSize(200,200);
  155.                
  156.                 add(orange);
  157.                
  158.                
  159.                
  160.                
  161.                
  162.                 tasteField = new JTextField();
  163.                 tasteField.setBounds(400 + insets.left, 600 + insets.top, size.width, size.height);
  164.                 tasteField.setSize(200, 20);
  165.                 add(tasteField);
  166.                
  167.                 colourField = new JTextField();
  168.                 colourField.setBounds(30 + insets.left, 900 + insets.top, size.width, size.height);
  169.                 colourField.setSize(200, 20);
  170.                 add(colourField);
  171.                
  172.                 edibleField = new JTextField();
  173.                 edibleField.setBounds(400 + insets.left, 900 + insets.top, size.width, size.height);
  174.                 edibleField.setSize(200, 20);
  175.                 add(edibleField);
  176.                
  177.                 priceField = new JTextField();
  178.                 priceField.setBounds(30 + insets.left, 600 + insets.top, size.width, size.height);
  179.                 priceField.setSize(200, 20);
  180.                 add(priceField);
  181.                
  182.                 instructions = new JTextArea();
  183.                 instructions.setBounds(800 + insets.left, 50 + insets.top, size.width, size.height);
  184.                 instructions.setSize(1000, 200);
  185.                 instructions.setFont(textFont);
  186.                 instructions.setText("Welcome to my supermarket.\n" + instruction1 + "\n" + instruction2 + "\n" + instruction3);
  187.                
  188.                 add(instructions);
  189.                
  190.                
  191.                
  192.                 tasteFieldTan = new JTextField();
  193.                 tasteFieldTan.setBounds(400 + insets2.left, 600 + insets2.top, size.width, size.height);
  194.                 tasteFieldTan.setSize(200, 20);
  195.                 add(tasteFieldTan);
  196.                
  197.                 colourFieldTan = new JTextField();
  198.                 colourFieldTan.setBounds(30 + insets2.left, 900 + insets2.top, size.width, size.height);
  199.                 colourFieldTan.setSize(200, 20);
  200.                 add(colourFieldTan);
  201.  
  202.                
  203.                
  204.                 priceFieldTan = new JTextField();
  205.                 priceFieldTan.setBounds(30 + insets2.left, 600 + insets2.top, size.width, size.height);
  206.                 priceFieldTan.setSize(200, 20);
  207.                 add(priceFieldTan);
  208.                
  209.                 tasteFieldGala = new JTextField();
  210.                 tasteFieldGala.setBounds(400 + insets2.left, 600 + insets2.top, size.width, size.height);
  211.                 tasteFieldGala.setSize(200, 20);
  212.                 add(tasteFieldGala);
  213.                
  214.                 colourFieldGala = new JTextField();
  215.                 colourFieldGala.setBounds(30 + insets2.left, 900 + insets2.top, size.width, size.height);
  216.                 colourFieldGala.setSize(200, 20);
  217.                 add(colourFieldGala);
  218.                
  219.                
  220.                 priceFieldGala = new JTextField();
  221.                 priceFieldGala.setBounds(30 + insets2.left, 600 + insets2.top, size.width, size.height);
  222.                 priceFieldGala.setSize(200, 20);
  223.                 add(priceFieldGala);
  224.                
  225.                
  226.                 tasteFieldOrange = new JTextField();
  227.                 tasteFieldOrange.setBounds(400 + insets2.left, 600 + insets2.top, size.width, size.height);
  228.                 tasteFieldOrange.setSize(200, 20);
  229.                 add(tasteFieldOrange);
  230.            
  231.                 colourFieldOrange = new JTextField();
  232.                 colourFieldOrange.setBounds(30 + insets2.left, 900 + insets2.top, size.width, size.height);
  233.                 colourFieldOrange.setSize(200, 20);
  234.                 add(colourFieldOrange);
  235.                
  236.                 priceFieldOrange = new JTextField();
  237.                 priceFieldOrange.setBounds(30 + insets2.left, 600 + insets2.top, size.width, size.height);
  238.                 priceFieldOrange.setSize(200, 20);
  239.                 add(priceFieldOrange);
  240.                
  241.                 weightFieldBrae = new JTextField();
  242.                 weightFieldBrae.setBounds(30+ insets.left, 205 + insets.top, size.width, size.height);
  243.                 weightFieldBrae.setSize(200, 20);
  244.                 add(weightFieldBrae);
  245.                
  246.                 weightFieldOrange = new JTextField();
  247.                 weightFieldOrange.setBounds(400 + insets.left, 500 + insets.top, size.width, size.height);
  248.                 weightFieldOrange.setSize(200, 20);
  249.                 add(weightFieldOrange);
  250.                
  251.                 weightFieldGala = new JTextField();
  252.                 weightFieldGala.setBounds(400 + insets.left, 205 + insets.top, size.width, size.height);
  253.                 weightFieldGala.setSize(200, 20);
  254.                 add(weightFieldGala);
  255.                
  256.                 weightFieldTan = new JTextField();
  257.                 weightFieldTan.setBounds(30 + insets.left, 500 + insets.top, size.width, size.height);
  258.                 weightFieldTan.setSize(200, 20);
  259.                 add(weightFieldTan);
  260.                
  261.                 //action listeners for the various buttons used
  262.                    
  263.                
  264.                 addBrae.addActionListener(addListen);
  265.                 addGala.addActionListener(addListen);
  266.                 addTan.addActionListener(addListen);
  267.                 addOrange.addActionListener(addListen);
  268.                 finished.addActionListener(addListen);
  269.  
  270.  
  271.                 braeburnApple.addActionListener(listen);
  272.                 galaApple.addActionListener(listen);
  273.                 tangerine.addActionListener(listen);
  274.                 orange.addActionListener(listen);
  275.                
  276.     }
  277.  
  278.     ActionListener listen = new ActionListener(){
  279.         public void actionPerformed(ActionEvent y){
  280.            
  281.            
  282.            
  283.         if(y.getSource() == braeburnApple){
  284.                
  285.                
  286.             colourField.setText("Colour: " + sColourBrae);
  287.            
  288.                
  289.             edibleField.setText("Edible: " + sEdibleBrae);
  290.            
  291.                
  292.             priceField.setText("Price per KG: " + pricePerKGBrae);
  293.             tasteField.setText("Taste: " + sTasteBrae);
  294.                
  295.             }
  296.         if(y.getSource() == tangerine){
  297.            
  298.            
  299.            
  300.             colourFieldTan.setText("Colour: " + sColourTan);
  301.                
  302.             edibleField.setText("Edible: " + sEdibleTan);
  303.            
  304.            
  305.             priceFieldTan.setText("Price per KG: " + pricePerKGTan);
  306.            
  307.             tasteFieldTan.setText("Taste: " + sTasteTan);
  308.             }
  309.  
  310.         if(y.getSource() == galaApple){
  311.  
  312.                         colourFieldTan.setText("Colour: " + sColourGala);
  313.                
  314.                         edibleField.setText("Edible: " + sEdibleGala);
  315.            
  316.            
  317.                         priceFieldTan.setText("Price per KG: " + pricePerKGGala);
  318.            
  319.                         tasteFieldTan.setText("Taste: " + sTasteGala);
  320.                
  321.             }  
  322.  
  323.         if(y.getSource() == orange){
  324.             colourFieldOrange.setText("Colour: " + sColourOrange);
  325.            
  326.             edibleField.setText("Edible: " + sEdibleOrange);
  327.  
  328.  
  329.             priceFieldOrange.setText("Price per KG: " + pricePerKGOrange);
  330.  
  331.             tasteFieldOrange.setText("Taste: " + sTasteOrange);
  332.         }
  333.         }
  334.         };
  335.  
  336.         ActionListener addListen = new ActionListener(){
  337.             public void actionPerformed(ActionEvent z){
  338.                
  339.                 if(z.getSource() == addBrae){
  340.                     String sWeightNumBrae = weightFieldBrae.getText();
  341.                     float iWeightNumBrae = Float.parseFloat(sWeightNumBrae);
  342.                     Trolley.addItemBasket(sNameBrae, pricePerKGBrae , false , iWeightNumBrae);
  343.                
  344.                 }
  345.                 if(z.getSource() == addGala){
  346.                     String sWeightNumGala = weightFieldGala.getText();
  347.                     float iWeightNumGala = Float.parseFloat(sWeightNumGala);
  348.                     Trolley.addItemBasket(sNameGala, pricePerKGGala , false, iWeightNumGala);
  349.                
  350.                 }
  351.                 if(z.getSource() == addTan){
  352.                     String sWeightNumTan = weightFieldTan.getText();
  353.                     float iWeightNumTan = Float.parseFloat(sWeightNumTan);
  354.                     Trolley.addItemBasket(sNameTan, pricePerKGTan , false , iWeightNumTan);
  355.                
  356.                 }
  357.                 if(z.getSource() == addOrange){
  358.                     String sWeightNumOrange = weightFieldOrange.getText();
  359.                     float iWeightNumOrange = Float.parseFloat(sWeightNumOrange);
  360.                     Trolley.addItemBasket(sNameOrange, pricePerKGOrange , false , iWeightNumOrange);
  361.                
  362.                 }
  363.             if(z.getSource() == finished){
  364.                
  365.                     Trolley.printBasket();
  366.                    
  367.                 }
  368.             }
  369.         };
  370.  
  371.  
  372.    
  373.    
  374.  
  375.    
  376. public static void main(String [] args){
  377.        
  378.  
  379. Program core = new Program();
  380.  
  381. JFrame frame = new JFrame("Yousuf's Supermarket");
  382. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  383. frame.add(core);
  384. frame.setResizable(false);
  385. frame.setSize(1920,1080);
  386.  
  387. frame.setVisible(true);
  388.  
  389.    
  390.  
  391.    
  392.  
  393.  
  394.  
  395. }
  396. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement