//图片当时是绝对路径,需要手动
package CoffeeTest;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
class top extends JFrame
{
static JLabel left_water = new JLabel("+ water");
static JLabel left_coffee = new JLabel("+ coffee");
static JLabel left_m_tea = new JLabel("+ milky_tea");
static JLabel left_sugar = new JLabel("+ sugar");
static JLabel left_cups = new JLabel("+ cups");
static JLabel mid_coins = new JLabel("0");
static Light pb_water = new Light();
static Light pb_coffee = new Light();
static Light pb_m_tea = new Light();
static Light pb_sugar = new Light();
static Light pb_cups = new Light();
static int water = 2000;
static int sugar = 10;
static int coffee = 100;
static int milky_tea = 100;
static int cups = 10;
static int coins = 0;
void Set()
{
//the whole Frame
JFrame f = new JFrame("Cafe at Stephanie's");
f.setLayout(null);
f.setBounds(300,300,410,700);
f.setDefaultCloseOperation(EXIT_ON_CLOSE);
//head_img
JPanel p = new JPanel();
JLabel lb = new JLabel();
p.setBounds(0,0,394,200);
p.setBorder(BorderFactory.createRaisedBevelBorder());
ImageIcon image;
int width = 173,height = 173;
lb.setSize(410,300);
image = new ImageIcon("C:\\Users\\123\\Desktop\\JAVA\\CoffeeATM\\edu\\dhy\\resource\\javalogo3.jpg");
Image img = image.getImage();
img = img.getScaledInstance(width, height, Image.SCALE_DEFAULT);
image.setImage(img);
lb.setIcon(image);
p.add(lb);
f.add(p);
//middle_left_functions
JPanel p2 = new JPanel();
p2.setLayout(null);
p2.setBounds(0,200,95,200);
p2.setBorder(BorderFactory.createRaisedBevelBorder());
f.add(p2);
//the panel of the left one
JPanel p2_1 = new JPanel();
p2_1.setLayout(null);
p2_1.setBounds(5,5,85,90);
p2_1.setBorder(BorderFactory.createRaisedBevelBorder());
f.add(p2_1);
p2.add(p2_1);
left_water.setBounds(15,5,75,15);
pb_water.setBounds(2, 1, 15, 15);
p2_1.add(left_water);
left_water.add(pb_water);
p2_1.add(pb_water);
left_coffee.setBounds(15,22,75,15);
pb_coffee.setBounds(2, 18, 15, 15);
p2_1.add(left_coffee);
left_coffee.add(pb_coffee);
p2_1.add(pb_coffee);
left_m_tea.setBounds(15,35,75,20);
pb_m_tea.setBounds(2, 33, 15, 15);
p2_1.add(left_m_tea);
left_m_tea.add(pb_m_tea);
p2_1.add(pb_m_tea);
left_sugar.setBounds(15,50,75,20);
pb_sugar.setBounds(2, 48, 15, 15);
p2_1.add(left_sugar);
left_sugar.add(pb_sugar);
p2_1.add(pb_sugar);
left_cups.setBounds(15,66,75,20);
pb_cups.setBounds(2, 64, 15, 15);
p2_1.add(left_cups);
left_cups.add(pb_cups);
p2_1.add(pb_cups);
//the functional opts of the left one
JButton b2_1 = new JButton("espresso");
b2_1.setLayout(null);
b2_1.setBounds(10,115,75,25);
b2_1.setBorder(BorderFactory.createRaisedBevelBorder());
f.add(b2_1);
p2.add(b2_1);
JButton b2_2 = new JButton("coffee");
b2_2.setLayout(null);
b2_2.setBounds(10,140,75,25);
b2_2.setBorder(BorderFactory.createRaisedBevelBorder());
f.add(b2_2);
p2.add(b2_2);
JButton b2_3 = new JButton("milky tea");
b2_3.setLayout(null);
b2_3.setBounds(10,165,75,25);
b2_3.setBorder(BorderFactory.createRaisedBevelBorder());
f.add(b2_3);
p2.add(b2_3);
//middle_panel
JPanel p3 = new JPanel();
p3.setLayout(null);
p3.setBounds(95,200,204,32);
p3.setBorder(BorderFactory.createRaisedBevelBorder());
f.add(p3);
JLabel p3_lb1 = new JLabel("warmth:");
p3_lb1.setBounds(10,0,50,30);
p3.add(p3_lb1);
JLabel p3_lb3 = new JLabel("95℃");
p3_lb3.setBounds(65,0,40,30);
p3.add(p3_lb3);
JLabel p3_lb4 = new JLabel("coin(s):");
p3_lb4.setBounds(110,0,55,30);
p3.add(p3_lb4);
mid_coins.setBounds(160,0,10,30);
p3.add(mid_coins);
//middle_right_functions
JPanel p4 = new JPanel();
p4.setLayout(null);
p4.setBounds(300,200,95,200);
p4.setBorder(BorderFactory.createRaisedBevelBorder());
f.add(p4);
JButton b4_1 = new JButton("water");
b4_1.setLayout(null);
b4_1.setBounds(10,5,75,25);
b4_1.setBorder(BorderFactory.createRaisedBevelBorder());
f.add(b4_1);
p4.add(b4_1);
JButton b4_2 = new JButton("powder");
b4_2.setLayout(null);
b4_2.setBounds(10,30,75,25);
b4_2.setBorder(BorderFactory.createRaisedBevelBorder());
f.add(b4_2);
p4.add(b4_2);
JButton b4_3 = new JButton("sugar");
b4_3.setLayout(null);
b4_3.setBounds(10,55,75,25);
b4_3.setBorder(BorderFactory.createRaisedBevelBorder());
f.add(b4_3);
p4.add(b4_3);
JButton b4_4 = new JButton("cups");
b4_4.setLayout(null);
b4_4.setBounds(10,80,75,25);
b4_4.setBorder(BorderFactory.createRaisedBevelBorder());
f.add(b4_4);
p4.add(b4_4);
JButton b4_5 = new JButton("feed coin");
b4_5.setLayout(null);
b4_5.setBounds(10,115,75,25);
b4_5.setBorder(BorderFactory.createRaisedBevelBorder());
f.add(b4_5);
p4.add(b4_5);
JButton b4_6 = new JButton("refund");
b4_6.setLayout(null);
b4_6.setBounds(10,140,75,25);
b4_6.setBorder(BorderFactory.createRaisedBevelBorder());
f.add(b4_6);
p4.add(b4_6);
JButton b4_7 = new JButton("take out");
b4_7.setLayout(null);
b4_7.setBounds(10,165,75,25);
b4_7.setBorder(BorderFactory.createRaisedBevelBorder());
f.add(b4_7);
p4.add(b4_7);
//down
JPanel p5 = new JPanel();
JLabel lb2 = new JLabel();
p5.setBounds(0,400,394,260);
p5.setBorder(BorderFactory.createRaisedBevelBorder());
ImageIcon image2;
int width2 = 300,height2 = 240;
lb2.setSize(410, 280);
image2 = new ImageIcon("C:\\Users\\123\\Desktop\\JAVA\\CoffeeATM\\edu\\dhy\\resource\\javalogo5.png");
Image img2 = image2.getImage();
img2 = img2.getScaledInstance(width2, height2, Image.SCALE_DEFAULT);
image2.setImage(img2);
lb2.setIcon(image2);
p5.add(lb2);
f.add(p5);
f.setVisible(true);
//action_dealing
Listener_water ml1 = new Listener_water();
b4_1.addActionListener(ml1);
Listener_co_mi ml2 = new Listener_co_mi();
b4_2.addActionListener(ml2);
Listener_co_mi ml3 = new Listener_co_mi();
b4_2.addActionListener(ml2);
Listener_sugar ml4 = new Listener_sugar();
b4_3.addActionListener(ml4);
Listener_cups ml5 = new Listener_cups();
b4_4.addActionListener(ml5);
Listener_coins ml6 = new Listener_coins();
b4_5.addActionListener(ml6);
Listener_refund ml7 = new Listener_refund();
b4_6.addActionListener(ml7);
Listener_espresso ml8 = new Listener_espresso();
b2_1.addActionListener(ml8);
Listener_coffee ml9 = new Listener_coffee();
b2_2.addActionListener(ml9);
Listener_milky_tea ml10 = new Listener_milky_tea();
b2_3.addActionListener(ml10);
}
class Listener_water implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
left_water.setText(""+ water);
pb_water.on = false;
pb_water.repaint();
}
}
class Listener_co_mi implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
left_coffee.setText(""+ coffee);
left_m_tea.setText(""+ milky_tea);
pb_coffee.on = false;
pb_m_tea.on = false;
pb_coffee.repaint();
pb_m_tea.repaint();
}
}
class Listener_sugar implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
left_sugar.setText(""+ sugar);
pb_sugar.on = false;
pb_sugar.repaint();
}
}
class Listener_cups implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
left_cups.setText(""+ cups);
pb_cups.on = false;
pb_cups.repaint();
}
}
class Listener_coins implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
if((water != 0 )&&(sugar != 0) &&(coffee != 0)&&(milky_tea != 0) && (cups != 0) && (sugar != 0))
{
coins++;
mid_coins.setText(String.valueOf(coins));
}
else
{
mid_coins.setText("" + coins);
}
}
}
class Listener_refund implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
coins = 0;
mid_coins.setText(String.valueOf(coins));
}
}
class Listener_espresso implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
if((coins != 0)&&(water != 0 )&&(sugar != 0) &&(coffee != 0)&&(milky_tea != 0) && (cups != 0) && (sugar != 0))
{
water -= 200;
sugar --;
coffee -= 10;
cups--;
coins--;
left_water.setText(""+ water);
left_coffee.setText(""+ coffee);
left_sugar.setText(""+ sugar);
left_cups.setText(""+ cups);
mid_coins.setText(String.valueOf(coins));
}
}
}
class Listener_coffee implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
if((coins != 0)&&(water != 0 )&&(sugar != 0) &&(coffee != 0)&&(milky_tea != 0) && (cups != 0) && (sugar != 0))
{
water -= 200;
sugar --;
coffee -= 5;
cups--;
coins--;
left_water.setText(""+ water);
left_coffee.setText(""+ coffee);
left_sugar.setText(""+ sugar);
left_cups.setText(""+ cups);
mid_coins.setText(String.valueOf(coins));
}
}
}
class Listener_milky_tea implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
if((coins != 0)&&(water != 0 )&&(sugar != 0) &&(coffee != 0)&&(milky_tea != 0) && (cups != 0) && (sugar != 0))
{
water -= 200;
sugar --;
milky_tea -= 10;
cups--;
coins--;
left_water.setText(""+ water);
left_m_tea.setText(""+ milky_tea);
left_sugar.setText(""+ sugar);
left_cups.setText(""+ cups);
mid_coins.setText(String.valueOf(coins));
}
}
}
}
public class Interface
{
public static int haha = 0;
public static void main(String[] Stephanie)
{
new top().Set();
}
}
class Light extends JPanel
{
private static final long serialVersionUID = 1L;
public static 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);
}
}