[英]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.