我希望关闭我用来更新数据库的窗口后,主窗口中的列表框会更新。我已经设置了窗口监听器。我之前用它来触发消息框。所以在这一点上我只需要它来更新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);
答案 0 :(得分:0)
有什么问题
list.getModel()
?此时,您将可以访问每个列表元素,以便您可以根据需要对其进行修改。您始终可以创建新的列表模型,然后调用list.setModel(newUpdatedModel)
。请记住在EDT上执行此操作,例如使用SwingUtilities.invokeLater()
,以便GUI更新。