繁体   English   中英

如何为按钮分配arraylist值

[英]how to assign an arraylist value to a button

我正在制造一个自动售货机,其中的自动售货机中有6个插槽,每个插槽都有自己的苏打水。 我们要列出苏打水品牌的枚举。 我已经为每个canslot创建了按钮,但是不知道如何为一个can can slot分配一个arraylist值到相应的按钮,以及如何单击一次canslot的按钮减少1直到它为空。

我的实际自动售货机代码在这里:

public class VendingFrame extends JFrame {
private ArrayList<CanSlot> CanSlots = new ArrayList<>();
public VendingFrame() {
    CanSlots.add(new CanSlot(Brand.PEPSI));
    CanSlots.add(new CanSlot(Brand.COKE));
    CanSlots.add(new CanSlot(Brand.SUNKIST));
    CanSlots.add(new CanSlot(Brand.DIETPEPSI));
    CanSlots.add(new CanSlot(Brand.MTDEW));
    CanSlots.add(new CanSlot(Brand.SPRITE)); 
    JPanel panel = new JPanel();
    JButton button = new JButton("Pepsi");
    button.setPreferredSize(new Dimension(100, 80));
    JButton button2 = new JButton("Coke");
    button2.setPreferredSize(new Dimension(100, 80));
    JButton button3 = new JButton("Diest Pepsi");
    button3.setPreferredSize(new Dimension(100, 80));
    JButton button4 = new JButton("Sunkist");
    button4.setPreferredSize(new Dimension(100, 80));
    JButton button5 = new JButton("Mountain Dew");
    button5.setPreferredSize(new Dimension(100, 80));
    JButton button6 = new JButton("Sprite");
    button6.setPreferredSize(new Dimension(100, 80));
    JPanel picpanel = new JPanel();
    JPanel buttonPanel = new JPanel();
    JLabel label = new JLabel();
    setLayout(new BorderLayout());
    buttonPanel.setLayout(new GridLayout(6, 1));
    add(panel);
    picpanel.add(label);
    label.setIcon(new javax.swing.ImageIcon("C:\\Users\\iacol\\Desktop\\cans.jpg.jpg"));
    buttonPanel.add(button);
    button.addActionListener(new ClickListener());
    buttonPanel.add(button2);
    button2.addActionListener(new ClickListener2());
    buttonPanel.add(button3);
    button3.addActionListener(new ClickListener3());
    buttonPanel.add(button4);
    button4.addActionListener(new ClickListener4());
    buttonPanel.add(button5);
    button5.addActionListener(new ClickListener5());
    buttonPanel.add(button6);
    button6.addActionListener(new ClickListener6());
    add(picpanel, BorderLayout.CENTER);
    add(buttonPanel, BorderLayout.EAST);
    setSize(700, 700);
    setTitle("Vending Machine");
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setVisible(true);
}
public static void main(String[] args) {
}

您可以使HashMap<Button, List<Product>>(); 使用如何对Button对象进行ID并检索值上的按钮列表。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM