如何使用新数据而不是按钮动态更新JFrame

时间:2015-04-03 02:06:24

标签: java swing jframe

所以我有一个带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

中的arrayList
case "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命令

0 个答案:

没有答案