-
Java入门小白:用了很多单例模式,另外resource我没放上去
-
package view.main:class:CoffeSlot:
import view.main.Framework;
public class CoffeeSlot
{public static void main(String[] Stephanie)
{
Framework.getInstance();
}}
-
package:view.body class: BottomPicture:
-
package view.body;
import javax.swing.JLabel;
public class BottomPicture extends JLabel
{
/**
*
*/
private static final long serialVersionUID = 1L;public BottomPicture()
{
this.setSize(300, 280);
utils.ImageUtils.addBottomPicture(this);
}
private static BottomPicture self = new BottomPicture();
public static BottomPicture getInstance()
{
return self;
}
}
-
package:view.body class:Drinksgif
-
package view.body;
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JPanel;public class Drinksgif extends JPanel implements Runnable
{
private static final long serialVersionUID = 1L;
public int i= 0;
public static Color color = new Color(0,0,0);
public void paintComponent(Graphics g)
{
g.setColor(Color.WHITE);
g.fillRect(0, 0, 80,120);
g.setColor(color);
g.fillRect(0, 120 - i, 80, i);
}
public void run()
{
i = 0;
while(i < 100)
{
try
{
Thread.sleep(50);
}
catch(Exception e)
{
}
i += 2;
repaint();
}
}
}
-
package view.body;
import javax.swing.BorderFactory;
import javax.swing.JButton;
public class EastButtons extends JButton
{
/**
*
*/
private static final long serialVersionUID = 1L;
private static JButton btWater = new JButton("water");
private static JButton btPowder = new JButton("powder");
private static JButton btSugar = new JButton("sugar");
private static JButton btCups = new JButton("cups");
private static JButton btFeedCoins = new JButton("feed a coin");
private static JButton btRefund = new JButton("refund");
private static JButton btTakeOut = new JButton("take out");
public EastButtons()
{
initBtWater();
initBtPowder();
initBtSugar();
initBtCups();
initBtFeedCoins();
initBtRefund();
initBtTakeOut();
}
//set up a singleton 创建单例模式
private static EastButtons self = new EastButtons();
public static EastButtons getInstance()
{
return self;
}
private void initBtWater()
{
setBtWater();
controller.SetWaterListener lW = new controller.SetWaterListener();
btWater.addActionListener(lW);
}
private void setBtWater()
{
btWater.setLayout(null);
btWater.setBounds(10, 5, 75, 25);
btWater.setBorder(BorderFactory.createRaisedBevelBorder());
}
public JButton getBtWater()
{
return btWater;
}
private void initBtPowder()
{
setBtPowder();
controller.SetPowderListener lP = new controller.SetPowderListener();
btPowder.addActionListener(lP);
}
private void setBtPowder()
{
btPowder.setLayout(null);
btPowder.setBounds(10, 30, 75, 25);
btPowder.setBorder(BorderFactory.createRaisedBevelBorder());
}
public JButton getBtPowder()
{
return btPowder;
}
private void initBtSugar()
{
setBtSugar();
controller.SetSugarListener lS = new controller.SetSugarListener();
btSugar.addActionListener(lS);
}
private void setBtSugar()
{
btSugar.setLayout(null);
btSugar.setBounds(10, 55, 75, 25);
btSugar.setBorder(BorderFactory.createRaisedBevelBorder());
}
public JButton getBtSugar()
{
return btSugar;
}
private void initBtCups()
{
setBtCups();
controller.SetCupsListener lC = new controller.SetCupsListener();
btCups.addActionListener(lC);
}
private void setBtCups()
{
btCups.setLayout(null);
btCups.setBounds(10, 80, 75, 25);
btCups.setBorder(BorderFactory.createRaisedBevelBorder());
}
public JButton getBtCups()
{
return btCups;
}
private void initBtFeedCoins()
{
setBtFeedCoins();
controller.SetFeedCoinsListener lF = new controller.SetFeedCoinsListener();
btFeedCoins.addActionListener(lF);
}
private void setBtFeedCoins()
{
btFeedCoins.setLayout(null);
btFeedCoins.setBounds(10, 120, 75, 25);
btFeedCoins.setBorder(BorderFactory.createRaisedBevelBorder());
}
public JButton getBtFeedCoins()
{
return btFeedCoins;
}
private void initBtRefund()
{
setBtRefund();
controller.SetRefundListener lR = new controller.SetRefundListener();
btRefund.addActionListener(lR);
}
private void setBtRefund()
{
btRefund.setLayout(null);
btRefund.setBounds(10, 145, 75, 25);
btRefund.setBorder(BorderFactory.createRaisedBevelBorder());
}
public JButton getBtRefund()
{
return btRefund;
}
private void initBtTakeOut()
{
setBtTakeOut();
controller.SetTakeOutListener lT = new controller.SetTakeOutListener();
btTakeOut.addActionListener(lT);
}
private void setBtTakeOut()
{
btTakeOut.setLayout(null);
btTakeOut.setBounds(10, 170, 75, 25);
btTakeOut.setBorder(BorderFactory.createRaisedBevelBorder());
}
public JButton getBtTakeOut()
{
return btTakeOut;
}
}
-
package view.body;
import javax.swing.JFrame;
import controller.Temperature;
public class Framework extends JFrame
{
/**
*
*/
private static final long serialVersionUID = 1L;
public Framework()
{
setFramework();
}
private static Framework self = new Framework();
public static Framework getInstance()
{
return self;
}
private void setFramework()
{
JFrame f = new JFrame("Cafe at Stephanie's");
f.setLayout(null);
f.setBounds(300, 300, 410, 700);
f.setDefaultCloseOperation(EXIT_ON_CLOSE);
f.add(PanelHead.getInstance());
f.add(PanelEast.getInstance());
f.add(PanelSouth.getInstance());
f.add(PanelWest.getInstance());
f.add(PanelNorth.getInstance());
f.add(PanelBottom.getInstance());
f.setVisible(true);
Thread tW = new Thread(new Temperature());
tW.start();
}
}
-
package view.body;
import javax.swing.JLabel;
public class HeadPicture extends JLabel
{
/**
*
*/
private static final long serialVersionUID = 1L;public HeadPicture()
{
this.setSize(410, 300);
utils.ImageUtils.addHeadPicture(this);
}
private static HeadPicture self = new HeadPicture();
public static HeadPicture getInstance()
{
return self;
}
}
-
package view.body;
import javax.swing.JLabel;
public class NorthNums extends JLabel
{
/**
*
*/
private static final long serialVersionUID = 1L;
private JLabel labelWarmth = new JLabel("warmth:");
private static JLabel labelTemperature = new JLabel("20℃");
private JLabel labelCoins = new JLabel("coins:");
private JLabel labelSumofCoins = new JLabel("0");
public static int money = 0;
private static NorthNums self = new NorthNums();
public NorthNums()
{
setNorthLabels();
}
public static NorthNums getInstance()
{
return self;
}
public void setNorthLabels()
{
labelWarmth.setBounds(10, 0, 50, 30);
labelTemperature.setBounds(65, 0, 40, 30);
labelCoins.setBounds(110, 0, 55, 30);
labelSumofCoins.setBounds(150, 0, 15, 30);
}
public JLabel getLabelWarmth()
{
return labelWarmth;
}
public static JLabel getLabelTemperature()
{
return labelTemperature;
}
public JLabel getLabelCoins()
{
return labelCoins;
}
public JLabel getLabelSumofCoins()
{
return labelSumofCoins;
}
public int getMoney()
{
return money;
}
}
-
package view.body;
import javax.swing.BorderFactory;
import javax.swing.JPanel;public class PanelBottom extends JPanel
{/**
*
*/
private static final long serialVersionUID = 1L;
public PanelBottom()
{
setPanelBottom();
this.add(new BottomPicture());
}
private static PanelBottom self = new PanelBottom();
public static PanelBottom getInstance()
{
return self;
}
private void setPanelBottom()
{
this.setBounds(0,400,394,260);
this.setBorder(BorderFactory.createRaisedBevelBorder());
}
}
-
package view.body;
import javax.swing.BorderFactory;
import javax.swing.JPanel;
public class PanelEast extends JPanel
{/**
*
*/
private static final long serialVersionUID = 1L;
public PanelEast()
{
setPanelEast();
addEastButtons();
}
private static PanelEast self = new PanelEast();
public static PanelEast getInstance()
{
return self;
}
private void setPanelEast()
{
this.setLayout(null);
this.setBounds(300,200,95,200);
this.setBorder(BorderFactory.createRaisedBevelBorder());
}
private void addEastButtons()
{
this.add(EastButtons.getInstance().getBtWater());
this.add(EastButtons.getInstance().getBtPowder());
this.add(EastButtons.getInstance().getBtSugar());
this.add(EastButtons.getInstance().getBtCups());
this.add(EastButtons.getInstance().getBtFeedCoins());
this.add(EastButtons.getInstance().getBtRefund());
this.add(EastButtons.getInstance().getBtTakeOut());
}
}
-
package view.body;
import javax.swing.BorderFactory;
import javax.swing.JPanel;public class PanelHead extends JPanel
{
/**
*
*/
private static final long serialVersionUID = 1L;public PanelHead()
{
setPanelHead();
this.add(new HeadPicture());
}
private static PanelHead self = new PanelHead();
public static PanelHead getInstance()
{
return self;
}
private void setPanelHead()
{
this.setBounds(0,0,394,200);
this.setBorder(BorderFactory.createRaisedBevelBorder());
}
}
-
package view.body;
import javax.swing.BorderFactory;
import javax.swing.JPanel;public class PanelNorth extends JPanel
{
/**
*
*/
private static final long serialVersionUID = 1L;public PanelNorth()
{
setPanelNorth();
addNorthNums();
}
private static PanelNorth self = new PanelNorth();
public static PanelNorth getInstance()
{
return self;
}
private void setPanelNorth()
{
this.setLayout(null);
this.setBounds(95, 200, 220, 35);
this.setBorder(BorderFactory.createRaisedBevelBorder());
}
private void addNorthNums()
{
this.add(NorthNums.getInstance().getLabelWarmth());
this.add(NorthNums.getLabelTemperature());
this.add(NorthNums.getInstance().getLabelCoins());
this.add(NorthNums.getInstance().getLabelSumofCoins());
}
} -
package view.body;
import javax.swing.BorderFactory;
import javax.swing.JPanel;import controller.SetTakeOutListener;
public class PanelSouth extends JPanel
{
/**
*
*/
private static final long serialVersionUID = 1L;
public static JPanel PanelDrinks = new JPanel();
public static Drinksgif threadType = new Drinksgif();
private static PanelSouth self = new PanelSouth();
public static JPanel getInstance()
{
return self;
}
public PanelSouth()
{
setPanelSouth();
setPanelDrinks();
this.add(getPanelDrinks());
if((SetTakeOutListener.judge == 1) || (SetTakeOutListener.judge == 0))
{
PanelDrinks.setVisible(false);
threadType.setVisible(false);
}
else if(SetTakeOutListener.judge == -1)
{
PanelDrinks.setVisible(true);
threadType.setVisible(true);
}
}
private void setPanelSouth()
{
this.setLayout(null);
this.setBounds(95, 235, 300, 165);
threadType.setBounds(65, 20, 80, 120);
this.setBorder(BorderFactory.createRaisedBevelBorder());
this.add(threadType);
}
private void setPanelDrinks()
{
PanelDrinks.setLayout(null);
PanelDrinks.setBounds(65, 20, 80, 120);
PanelDrinks.setBorder(BorderFactory.createRaisedBevelBorder());
}
public JPanel getPanelDrinks()
{
return PanelDrinks;
}
} -
package view.body;
import javax.swing.BorderFactory;
import javax.swing.JPanel;public class PanelWest extends JPanel
{
/**
*
*/
private static final long serialVersionUID = 1L;public PanelWest()
{
setPanelWest();
addWestButtons();
this.add(PanelWestTop.getInstance());
}
private static PanelWest self = new PanelWest();
public static PanelWest getInstance()
{
return self;
}
public void setPanelWest()
{
this.setLayout(null);
this.setBounds(0,200,95,200);
this.setBorder(BorderFactory.createRaisedBevelBorder());
}
public void addWestButtons()
{
WestButtons.getInstance();
this.add(WestButtons.getInstance().getBtEspresso());
this.add(WestButtons.getInstance().getBtCoffee());
this.add(WestButtons.getInstance().getBtMilkyTea());
}
} -
package view.body;
import java.awt.Color;
import java.awt.Graphics;import javax.swing.BorderFactory;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class PanelWestTop extends JPanel
{
/**
*
*/
private static final long serialVersionUID = 1L;
private JLabel LeftWater = new JLabel("+ water");
private JLabel LeftCoffee = new JLabel("+ coffee");
private JLabel LeftMilkyTea = new JLabel("+ milky tea");
private JLabel LeftSugar = new JLabel("+ sugar");
private JLabel LeftCups = new JLabel("+ cups");
private Light BulbWater = new Light();
private Light BulbCoffee = new Light();
private Light BulbMilkyTea = new Light();
private Light BulbSugar = new Light();
private Light BulbCups = new Light();
public PanelWestTop()
{
setPanelWestTop();
setLeftWater();
setLeftCoffee();
setLeftMilkyTea();
setLeftSugar();
setLeftCups();
this.add(LeftWater);
this.add(LeftCoffee);
this.add(LeftMilkyTea);
this.add(LeftSugar);
this.add(LeftCups);
setBulbWater();
setBulbCoffee();
setBulbMilkyTea();
setBulbSugar();
setBulbCups();
this.add(BulbWater);
this.add(BulbCoffee);
this.add(BulbMilkyTea);
this.add(BulbSugar);
this.add(BulbCups);
}
private static PanelWestTop self = new PanelWestTop();
public static PanelWestTop getInstance()
{
return self;
}
private void setPanelWestTop()
{
this.setLayout(null);
this.setBounds(5, 5, 85, 105);
this.setBorder(BorderFactory.createRaisedBevelBorder());
}
//给外部方法用
public JLabel getAddWater()
{
return LeftWater;
}
//给内部用,所以它是私有的
private void setLeftWater()
{
LeftWater.setBounds(18, 5, 75, 15);
}
public JLabel getAddCoffee()
{
return LeftCoffee;
}
private void setLeftCoffee()
{
LeftCoffee.setBounds(18, 25, 75, 15);
}
public JLabel getAddMilkyTea()
{
return LeftMilkyTea;
}
private void setLeftMilkyTea()
{
LeftMilkyTea.setBounds(18, 45, 75, 15);
}
public JLabel getAddSugar()
{
return LeftSugar;
}
private void setLeftSugar()
{
LeftSugar.setBounds(18, 65, 75, 15);
}
public JLabel getAddCups()
{
return LeftCups;
}
private void setLeftCups()
{
LeftCups.setBounds(18,85, 75, 15);
}
public Light getBulbWater()
{
return BulbWater;
}
private void setBulbWater()
{
BulbWater.setBounds(4,1,15,15);
}
public Light getBulbCoffee()
{
return BulbCoffee;
}
private void setBulbCoffee()
{
BulbCoffee.setBounds(4,21,15,15);
}
public Light getBulbMilkyTea()
{
return BulbMilkyTea;
}
private void setBulbMilkyTea()
{
BulbMilkyTea.setBounds(4,41,15,15);
}
public Light getBulbSugar()
{
return BulbSugar;
}
private void setBulbSugar()
{
BulbSugar.setBounds(4,61,15,15);
}public Light getBulbCups()
{
return BulbCups;
}
private void setBulbCups()
{
BulbCups.setBounds(4,81,15,15);
}
public static class Light extends JPanel
{
private static final long serialVersionUID = 1L;
public boolean on = true;
public void paintComponent(Graphics g)
{
super.paintComponent(g);
if(this.on)
{
g.setColor(Color.RED);
}
else
{
g.setColor(Color.GREEN);
}
g.fillOval(0, 5, 10, 10);
}
}
} -
package view.body;
import javax.swing.BorderFactory;
import javax.swing.JButton;public class WestButtons extends JButton
{/**
*
*/
private static final long serialVersionUID = 1L;
private static JButton btEspresso = new JButton("espresso");
private static JButton btCoffee = new JButton("coffee");
private static JButton btMilkyTea = new JButton("milky tea");
public WestButtons()
{
initBtEspresso();
initBtCoffee();
initBtMilkyTea();
}
private static WestButtons self = new WestButtons();
public static WestButtons getInstance()
{
return self;
}
private void initBtEspresso()
{
setBtEspresso();
controller.SetEspressoListener lE = new controller.SetEspressoListener();
btEspresso.addActionListener(lE);
}
private void setBtEspresso()
{
btEspresso.setLayout(null);
btEspresso.setBounds(10, 115, 75, 25);
btEspresso.setBorder(BorderFactory.createRaisedBevelBorder());
}
public JButton getBtEspresso()
{
return btEspresso;
}
private void initBtCoffee()
{
setBtCoffee();
controller.SetCoffeeListener lC = new controller.SetCoffeeListener();
btCoffee.addActionListener(lC);
}
private void setBtCoffee()
{
btCoffee.setLayout(null);
btCoffee.setBounds(10, 140, 75, 25);
btCoffee.setBorder(BorderFactory.createRaisedBevelBorder());
}
public JButton getBtCoffee()
{
return btCoffee;
}
private void initBtMilkyTea()
{
setBtMilkyTea();
controller.SetMilkyTeaListener lM = new controller.SetMilkyTeaListener();
btMilkyTea.addActionListener(lM);
}
private void setBtMilkyTea()
{
btMilkyTea.setLayout(null);
btMilkyTea.setBounds(10, 165, 75, 25);
btMilkyTea.setBorder(BorderFactory.createRaisedBevelBorder());
}
public JButton getBtMilkyTea()
{
return btMilkyTea;
}
} -
package utils;
import java.applet.Applet;
import java.applet.AudioClip;import javax.annotation.Resources;
public class AudioUtils
{
public static void putOneCoin()
{
AudioClip soundPutOneCoin = null;
soundPutOneCoin = Applet.newAudioClip(Resources.class.getResource("/resource/putCoin.wav"));
soundPutOneCoin.play();
}
public static void getOneCoin()
{
AudioClip soundGetOneCoin = null;
soundGetOneCoin = Applet.newAudioClip(Resources.class.getResource("/resource/getOneCoin.wav"));
soundGetOneCoin.play();
}
public static void getManyCoin()
{
AudioClip soundGetManyCoin = null;
soundGetManyCoin = Applet.newAudioClip(Resources.class.getResource("/resource/getManyCoin.wav"));
soundGetManyCoin.play();
}
public static void waterFlow()
{
AudioClip soundWaterFlow = null;
soundWaterFlow = Applet.newAudioClip(Resources.class.getResource("/resource/waterFlow.wav"));
soundWaterFlow.play();
}
}
-
package utils;
import java.awt.Image;
import javax.swing.ImageIcon;
import view.body.BottomPicture;
import view.body.HeadPicture;
public class ImageUtils
{
public static void addHeadPicture(HeadPicture headPicture)
{
ImageIcon image = new ImageIcon(HeadPicture.class.getResource("/resource/javalogo3.jpg"));
Image img = image.getImage();
img = img.getScaledInstance(173, 173, Image.SCALE_DEFAULT);
image.setImage(img);
headPicture.setIcon(image);
}
public static void addBottomPicture(BottomPicture bottomPicture)
{
ImageIcon image = new ImageIcon(BottomPicture.class.getResource("/resource/javalogo5.png"));
Image img = image.getImage();
img = img.getScaledInstance(280,220, Image.SCALE_DEFAULT);
image.setImage(img);
bottomPicture.setIcon(image);
}
} -
package model;
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JPanel;public class DrinksGif extends JPanel implements Runnable
{
private static final long serialVersionUID = 1L;
public int i= 0;
public static Color color = new Color(0,0,0);
public void paintComponent(Graphics g)
{
g.setColor(Color.WHITE);
g.fillRect(0, 0, 80,120);
g.setColor(color);
g.fillRect(0, 120 - i, 80, i);
}
public void run()
{
i = 0;
while(i < 100)
{
try
{
Thread.sleep(50);
}
catch(Exception e)
{
}
i += 2;
repaint();
}
}
}
-
package model;
public class WestNums
{
public static int water = 0;
public static int coffee = 0;
public static int milkyTea = 0;
public static int sugar = 0;
public static int cups = 0;
public static int judge = 0;
public static WestNums self = new WestNums();
public static WestNums getInstance()
{
return self;
}
public void setWater(int i)
{
water = i;
}
public int getWater()
{
return water;
}
public void setCoffee(int i)
{
coffee = i;
}
public int getCoffee()
{
return coffee;
}
public void setMilkyTea(int i)
{
milkyTea = i;
}
public int getMilkyTea()
{
return milkyTea;
}
public void setSugar(int i)
{
sugar = i;
}
public int getSugar()
{
return sugar;
}
public void setCups(int i)
{
cups = i;
}
public int getCups()
{
return cups;
}
public void setJudge(int i)
{
judge = i;
}
public int getJudge()
{
return judge;
}
}
-
package controller;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;import model.WestNums;
import view.body.NorthNums;
import view.body.PanelWestTop;public class SetCoffeeListener implements ActionListener
{
@SuppressWarnings("static-access")
public void actionPerformed(ActionEvent e)
{
if(Conditions() == false)
{
System.out.println("Please add recipe first!");
return;
}
if(NorthNums.getInstance().money == 0)
{
System.out.println("Please feed a coin first!");
return;
}
if(controller.Temperature.t < 90)
{
System.out.println("Please wait for the boiling water!");
return;
}
if(SetTakeOutListener.judge == -1)
{
System.out.println("Please take out first!");
return;
}
new WarmingRecipe();
SetTakeOutListener.judge = -1;
CutRecipeAndMoney();
Input();
Temperature.t -= 40;
setDrinksThread();
setAudio();
}
private void setAudio()
{
utils.AudioUtils.waterFlow();
}
@SuppressWarnings("static-access")
private void setDrinksThread()
{
view.body.PanelSouth.PanelDrinks.setVisible(true);
view.body.PanelSouth.threadType.setVisible(true);
view.body.PanelSouth.threadType.color = Color.BLUE;
Thread tCoffee = new Thread(view.body.PanelSouth.threadType);
tCoffee.start();
}
public static boolean Conditions()
{
if((WestNums.getInstance().getWater() == 0) ||(WestNums.getInstance().getCoffee() == 0)||(WestNums.getInstance().getSugar() == 0 ) ||(WestNums.getInstance().getCups() == 0))
{
return false;
}
return true;
}
@SuppressWarnings("static-access")
private void CutRecipeAndMoney()
{
WestNums.getInstance();
WestNums.water -= 200;
WestNums.getInstance();
WestNums.coffee -= 5;
WestNums.getInstance();
WestNums.sugar--;
WestNums.getInstance();
WestNums.cups--;
NorthNums.getInstance().money--;
}
@SuppressWarnings("static-access")
private void Input()
{
PanelWestTop.getInstance().getAddWater().setText("" + WestNums.getInstance().water);
PanelWestTop.getInstance().getAddCoffee().setText("" + WestNums.getInstance().coffee);
PanelWestTop.getInstance().getAddMilkyTea().setText("" + WestNums.getInstance().milkyTea);
PanelWestTop.getInstance().getAddSugar().setText("" + WestNums.getInstance().sugar);
PanelWestTop.getInstance().getAddCups().setText("" + WestNums.getInstance().cups);
NorthNums.getInstance().getLabelSumofCoins().setText("" + NorthNums.money);
}
}
-
package controller;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import model.WestNums;
import view.body.PanelWestTop;public class SetCupsListener implements ActionListener
{
@SuppressWarnings("static-access")
public void actionPerformed(ActionEvent event)
{
if(WestNums.getInstance().getCups() == 10)
{
System.out.println("Wait until running out of Cups!");
return;
}
new WarmingRecipe();
WestNums.getInstance().setCups(10);
view.body.PanelWestTop.getInstance().getAddCups().setText("" + WestNums.getInstance().getCups());
PanelWestTop.getInstance().getBulbCups().on = false;
view.body.PanelWestTop.getInstance().getBulbCups().repaint();
}
}
-
package controller;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;import model.WestNums;
import view.body.NorthNums;
import view.body.PanelWestTop;public class SetEspressoListener implements ActionListener
{
@SuppressWarnings("static-access")
public void actionPerformed(ActionEvent e)
{
if(Conditions() == false)
{
System.out.println("Please add recipe first!");
return;
}
if(NorthNums.getInstance().money == 0)
{
System.out.println("Please feed a coin first!");
return;
}
if(controller.Temperature.t < 90)
{
System.out.println("Please wait for the boiling water!");
return;
}
if(SetTakeOutListener.judge == -1)
{
System.out.println("Please take out first!");
return;
}
setDrinksThread();
SetTakeOutListener.judge = -1;
CutRecipeAndMoney();
Input();
Temperature.t -= 40;
new WarmingRecipe();
setAudio();
}
private void setAudio()
{
utils.AudioUtils.waterFlow();
}
@SuppressWarnings("static-access")
private void setDrinksThread()
{
view.body.PanelSouth.PanelDrinks.setVisible(true);
view.body.PanelSouth.threadType.setVisible(true);
view.body.PanelSouth.threadType.color = Color.BLACK;
Thread tEspresso = new Thread(view.body.PanelSouth.threadType);
tEspresso.start();
}
public static boolean Conditions()
{
if((WestNums.getInstance().getWater() == 0) ||(WestNums.getInstance().getCoffee() == 0)||(WestNums.getInstance().getSugar() == 0 ) ||(WestNums.getInstance().getCups() == 0))
{
return false;
}
return true;
}
@SuppressWarnings("static-access")
private void CutRecipeAndMoney()
{
WestNums.getInstance();
WestNums.water -= 200;
WestNums.getInstance();
WestNums.coffee -= 10;
WestNums.getInstance();
WestNums.sugar--;
WestNums.getInstance();
WestNums.cups--;
NorthNums.getInstance().money--;
}
@SuppressWarnings("static-access")
private void Input()
{
PanelWestTop.getInstance().getAddWater().setText("" + WestNums.getInstance().water);
PanelWestTop.getInstance().getAddCoffee().setText("" + WestNums.getInstance().coffee);
PanelWestTop.getInstance().getAddMilkyTea().setText("" + WestNums.getInstance().milkyTea);
PanelWestTop.getInstance().getAddSugar().setText("" + WestNums.getInstance().sugar);
PanelWestTop.getInstance().getAddCups().setText("" + WestNums.getInstance().cups);
NorthNums.getInstance().getLabelSumofCoins().setText("" + NorthNums.money);
}
}
-
package controller;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;import model.WestNums;
import view.body.NorthNums;public class SetFeedCoinsListener implements ActionListener
{
private static int flag = 0;
public void actionPerformed(ActionEvent event)
{
ConditionsToFeedCoins();
if(flag == 0)
{
System.out.println("Please add the recipe first!");
return;
}
if(Temperature.t < 90)
{
System.out.println("Please wait for the boiling water!");
return;
}
setAudioAndCutMoney();
new WarmingRecipe();
}
private void setAudioAndCutMoney()
{
utils.AudioUtils.putOneCoin();
NorthNums.getInstance();
NorthNums.money++;
NorthNums.getInstance();
NorthNums.getInstance().getLabelSumofCoins().setText("" + NorthNums.money);
}
private void ConditionsToFeedCoins()
{
if(WestNums.getInstance().getWater() == 2000)
if(WestNums.getInstance().getCoffee() == 100)
if(WestNums.getInstance().getMilkyTea() == 100)
if(WestNums.getInstance().getSugar() == 10 )
if(WestNums.getInstance().getCups() == 10)
{
flag = 1;
}
}
}
-
package controller;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;import model.WestNums;
import view.body.NorthNums;
import view.body.PanelWestTop;public class SetMilkyTeaListener implements ActionListener
{
@SuppressWarnings("static-access")
public void actionPerformed(ActionEvent e)
{
if(Conditions() == false)
{
System.out.println("Please add recipe first!");
return;
}
if(NorthNums.getInstance().money == 0)
{
System.out.println("Please feed a coin first!");
return;
}
if(controller.Temperature.t < 90)
{
System.out.println("Please wait for the boiling water!");
return;
}
if(SetTakeOutListener.judge == -1)
{
System.out.println("Please take out first!");
return;
}
SetTakeOutListener.judge = -1;
CutRecipeAndMoney();
Input();
Temperature.t -= 40;
new WarmingRecipe();
setDrinksThread();
setAudio();
}
private void setAudio()
{
utils.AudioUtils.waterFlow();
}
@SuppressWarnings("static-access")
private void setDrinksThread()
{
view.body.PanelSouth.PanelDrinks.setVisible(true);
view.body.PanelSouth.threadType.setVisible(true);
view.body.PanelSouth.threadType.color = Color.GREEN;
Thread tMilkyTea = new Thread(view.body.PanelSouth.threadType);
tMilkyTea.start();
}
public static boolean Conditions()
{
if((WestNums.getInstance().getWater() == 0) ||(WestNums.getInstance().getMilkyTea() == 0)||(WestNums.getInstance().getSugar() == 0 ) ||(WestNums.getInstance().getCups() == 0))
{
return false;
}
return true;
}
@SuppressWarnings("static-access")
private void CutRecipeAndMoney()
{
WestNums.getInstance();
WestNums.water -= 200;
WestNums.getInstance();
WestNums.milkyTea -= 10;
WestNums.getInstance();
WestNums.sugar--;
WestNums.getInstance();
WestNums.cups--;
NorthNums.getInstance().money--;
}
@SuppressWarnings("static-access")
private void Input()
{
PanelWestTop.getInstance().getAddWater().setText("" + WestNums.getInstance().water);
PanelWestTop.getInstance().getAddCoffee().setText("" + WestNums.getInstance().coffee);
PanelWestTop.getInstance().getAddMilkyTea().setText("" + WestNums.getInstance().milkyTea);
PanelWestTop.getInstance().getAddSugar().setText("" + WestNums.getInstance().sugar);
PanelWestTop.getInstance().getAddCups().setText("" + WestNums.getInstance().cups);
NorthNums.getInstance().getLabelSumofCoins().setText("" + NorthNums.money);
}
}
-
package controller;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;import model.WestNums;
import view.body.PanelWestTop;public class SetPowderListener implements ActionListener
{
@SuppressWarnings("static-access")
public void actionPerformed(ActionEvent event)
{
if(model.WestNums.getInstance().getCoffee() == 0 || model.WestNums.getInstance().getMilkyTea() == 0)
{
new WarmingRecipe();
setRecipeandLights();
}
}
@SuppressWarnings("static-access")
private void setRecipeandLights()
{
model.WestNums.getInstance().setCoffee(100);
view.body.PanelWestTop.getInstance().getAddCoffee().setText("" + WestNums.getInstance().getCoffee());
PanelWestTop.getInstance().getBulbCoffee().on =false;
view.body.PanelWestTop.getInstance().getBulbCoffee().repaint();
model.WestNums.getInstance().setMilkyTea(100);
view.body.PanelWestTop.getInstance().getAddMilkyTea().setText("" + WestNums.getInstance().getMilkyTea());
PanelWestTop.getInstance().getBulbMilkyTea().on = false;
view.body.PanelWestTop.getInstance().getBulbMilkyTea().repaint();
}
}
-
package controller;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;import utils.AudioUtils;
import view.body.NorthNums;public class SetRefundListener implements ActionListener
{
@SuppressWarnings("static-access")
public void actionPerformed(ActionEvent event)
{
if(NorthNums.getInstance().money == 0)
{
System.out.println("Please feed a coin coin to trade!");
return;
}
else if(NorthNums.getInstance().money == 1)
{
AudioUtils.getOneCoin();
}
else
{
AudioUtils.getManyCoin();
}
new WarmingRecipe();
NorthNums.getInstance().money = 0;
NorthNums.getInstance().getLabelSumofCoins().setText("" + NorthNums.getInstance().money);
}
}
-
package controller;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import model.WestNums;
import view.body.PanelWestTop;public class SetSugarListener implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
if(WestNums.getInstance().getSugar() == 2000)
{
System.out.println("Wait until running out of Sugar!");
return;
}
new WarmingRecipe();
setRecipeandLights();
}
@SuppressWarnings("static-access")
private void setRecipeandLights()
{
WestNums.getInstance().setSugar(10);
view.body.PanelWestTop.getInstance().getAddSugar().setText("" + WestNums.getInstance().getSugar());
PanelWestTop.getInstance().getBulbSugar().on = false;
view.body.PanelWestTop.getInstance().getBulbSugar().repaint();
}
} -
package controller;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class SetTakeOutListener implements ActionListener
{
public static int judge = 0;
public void actionPerformed(ActionEvent e)
{
judge = 1;
new WarmingRecipe();
view.body.PanelSouth.PanelDrinks.setVisible(false);
view.body.PanelSouth.threadType.setVisible(false);
}
} -
package controller;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;import model.WestNums;
import view.body.PanelWestTop;public class SetWaterListener implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
if(WestNums.getInstance().getWater() == 2000)
{
System.out.println("Wait until running out of water!");
return;
}
new WarmingRecipe();
setRecipeAndLights();
}
private void setRecipeAndLights()
{
Temperature.t -= 30;
WestNums.getInstance().setWater(2000);
view.body.PanelWestTop.getInstance().getAddWater().setText("" + WestNums.getInstance().getWater());
PanelWestTop.getInstance().getBulbWater();
view.body.PanelWestTop.getInstance().getBulbWater().on = false;
view.body.PanelWestTop.getInstance().getBulbWater().repaint();
}
} -
package controller;
public class Temperature implements Runnable
{
public static int t = 20;
@SuppressWarnings("static-access")
public void run()
{
new WarmingRecipe();
while(true)
{
while(Temperature.t <= 95)
{
Temperature.t += 5;
view.body.NorthNums.getInstance().getLabelTemperature().setText(""+ Temperature.t+"℃");
view.body.NorthNums.getInstance().getLabelTemperature().repaint();
try
{
Thread.sleep(500);
}
catch(Exception e)
{
}
}
try
{
Thread.sleep(500);
}
catch(Exception e)
{
}
}
}
} -
package controller;
public class WarmingRecipe
{
@SuppressWarnings("static-access")
public WarmingRecipe()
{
if(model.WestNums.getInstance().water == 0)
{
view.body.PanelWestTop.getInstance().getBulbWater().on = true;
view.body.PanelWestTop.getInstance().getBulbWater().repaint();
view.body.PanelWestTop.getInstance().getAddWater().setText("+ water");
}
if(model.WestNums.getInstance().coffee == 0)
{
view.body.PanelWestTop.getInstance().getBulbCoffee().on = true;
view.body.PanelWestTop.getInstance().getBulbCoffee().repaint();
view.body.PanelWestTop.getInstance().getAddCoffee().setText("+ coffee");
}
if(model.WestNums.getInstance().milkyTea == 0)
{
view.body.PanelWestTop.getInstance().getBulbMilkyTea().on = true;
view.body.PanelWestTop.getInstance().getBulbMilkyTea().repaint();
view.body.PanelWestTop.getInstance().getAddMilkyTea().setText("+ milky tea");
}
if(model.WestNums.getInstance().sugar == 0)
{
view.body.PanelWestTop.getInstance().getBulbSugar().on = true;
view.body.PanelWestTop.getInstance().getBulbSugar().repaint();
view.body.PanelWestTop.getInstance().getAddSugar().setText("+ sugar");
}
if(model.WestNums.getInstance().cups == 0)
{
view.body.PanelWestTop.getInstance().getBulbCups().on = true;
view.body.PanelWestTop.getInstance().getBulbCups().repaint();
view.body.PanelWestTop.getInstance().getAddCups().setText("+ cups");
}
}
}