所以我有一个带5个按钮的Jframe。其中一个按钮允许用户将产品添加到库存中。在用户向库存添加内容之前,其他按钮将不起作用。一旦用户向库存添加了某些内容,用户就必须通过按下购买按钮并运行一些代码来更新Jcombobox,该代码将arrayList中的数据添加到Jcombobox。我的问题是,我如何跳过所有这些并在用户将一个项目添加到清单后立即更新(这就是我的动态意思)。
相关代码
来自Machine Frame的代码,用于从arraylist获取信息到字符串数组并将其添加到组合框中。
case "buy":
if(product.checkInventory())
{
JOptionPane.showMessageDialog(mainMenu, "No Products in the vending machine.");
}
else
{
productList.removeItem("Product");
String tempArray[] = product.sendingInformationToVendor();
for (String tempArray1 : tempArray)
{
productList.addItem(tempArray1);
}
}
来自addProductFrame的代码,它添加到类productInventory
中的arrayListcase "enter":
if (productDescription.getText().equals("") || costField.getText().equals("")) {
JOptionPane.showMessageDialog(addProductFrame, "Filling in all the necessary fields.");
} else {
String prodName = productDescription.getText();
String tempProdCost = costField.getText();
double prodCost = Double.parseDouble(tempProdCost);
int q = (int) quantity.getValue();
Product p = new Product(prodName, prodCost, q);
proInv.addProduct(p);
JOptionPane.showMessageDialog(addProductFrame, "This product has been successfully added to the vending machine");
productDescription.setText("");
costField.setText("");
quantity.setValue(1);
}
这些代码段中的每一段都在一个名为processAction的类中,该类实现了actionlistener,关键字case旁边的每个字符串都是每个按钮的action命令