关闭我用来更新db信息的窗口后,如何从数据库更新我的主JFrame中的List

时间:2016-06-03 19:49:50

标签: java windowlistener

我希望关闭我用来更新数据库的窗口后,主窗口中的列表框会更新。我已经设置了窗口监听器。我之前用它来触发消息框。所以在这一点上我只需要它来更新Jframe中的列表。

我正在使用这个来打开窗口来编辑数据库,然后关闭时监听器

DBList edit = new DBList();
    edit.setVisible(true);
    edit.setBounds(100, 100, 600, 600);

    edit.addWindowListener(new WindowAdapter() {

        @Override
            public void windowClosing(WindowEvent we){

            displayAllProducts();

        }
        });

我的displayAllProductsMethod

public void displayAllProducts()
{   

    listModel = new DefaultListModel();
    listBooks = new JList(listModel);

    ProductDB prod = new ProductDB();
    Product listProd = new Product();
    ArrayList <Product> products = prod.getProducts();

    for(Product p : products)
        listModel.addElement(p.toString());

    return;



}

最初我把它加载到列表框中就像这样

list = new JList(listModel);

1 个答案:

答案 0 :(得分:0)

有什么问题 list.getModel()?此时,您将可以访问每个列表元素,以便您可以根据需要对其进行修改。您始终可以创建新的列表模型,然后调用list.setModel(newUpdatedModel)。请记住在EDT上执行此操作,例如使用SwingUtilities.invokeLater(),以便GUI更新。