我在这里制作了一个应用程序并在一个篮子上工作。
这是按钮(每次添加产品时都会获得一个 X 删除按钮):
for(int i=0;i < products.size(); i++){
btnDeleteproduct = new JButton("X");
btnDeleteproduct.setBounds(380, verticalPosition + i * productOffset, 20, 20);
btnDeleteproduct.setFont(WinkelApplication.FONT_10_BOLD);
btnDeleteproduct.setName("" + i);
btnDeleteproduct.addActionListener(this);
this.add(btnDeleteproduct);
}
productamount 是设置产品数量的标签:
productamount = (int) WinkelApplication.getBasket().getProductAmount(productdelete);
if (event.getSource() == btnDeleteproduct) {
productamount--;
lblamount.setText("" + productamount);
WinkelApplication.getInstance().showPanel(new view.Payment());
if (productamount < 1) {
WinkelApplication.getBasket().deleteProduct(productdelete);
}
}
现在最后一批是 deleteProduct 方法:
public void deleteProduct(Product product) {
// check if product is allready added to the basket
if (products.containsKey(product)) {
products.remove(product);
WinkelApplication.getInstance().showPanel(new view.Payment());
}
if(products.size() == 0){
WinkelApplication.getInstance().showPanel(new view.CategoryList());
}
}
好的,我有两个问题。1)标签不响应按钮中的setText,所以如果我把它放在另一个按钮中它不会改变它确实改变了。2)如果我添加超过 1 个产品,我只能从下到上删除产品,所以它只会对最后一个按钮做出反应,然后是下面的按钮,依此类推。
希望任何人都可以提供帮助!