Java 我可以合并两个模型吗?
我正在尝试在java中组合两个defaultListModels,以便将该模型设置为JList。这个程序基本上是使用GUI在购物车中添加和删除物品。当我按下add按钮时,它不应从shoppingCart中删除项目,而是添加到该列表中 以下是我在addButton块中的代码:Java 我可以合并两个模型吗?,java,swing,jlist,defaultlistmodel,Java,Swing,Jlist,Defaultlistmodel,我正在尝试在java中组合两个defaultListModels,以便将该模型设置为JList。这个程序基本上是使用GUI在购物车中添加和删除物品。当我按下add按钮时,它不应从shoppingCart中删除项目,而是添加到该列表中 以下是我在addButton块中的代码: DefaultListModel booksToAdd = new DefaultListModel(); booksToAdd.addElement(availableBooks.getSelectedValuesLis
DefaultListModel booksToAdd = new DefaultListModel();
booksToAdd.addElement(availableBooks.getSelectedValuesList());
DefaultListModel booksAdded = new DefaultListModel();
booksAdded.addElement(shoppingCart.getModel());
// this is where it does not work. I know I cannot just add these two, but I need
//some way to combine them.
shoppingCart.setModel(booksAdded + booksToAdd);
基本的答案是做一些像
for (int index = 0; index < from.getSize(); index++) {
to.addElement(from.getElementAt(index));
}
DefaultListModel booksToAdd = new DefaultListModel();
DefaultListModel booksAdded = new DefaultListModel();
//...
DefaultListModel combined = new DefaultListModel();
addTo(booksToAdd, combined);
addTo(booksAdded, combined);
现在,如果您经常做这类事情,您可以设计自己的
ListModel
,它可以通过构造函数获取一个或多个ListModel
s并将它们的元素添加到您的元素中,和/或提供一个“add”方法来完成。在任何情况下,基本的想法都是一样的。基本的答案是做一些像
for (int index = 0; index < from.getSize(); index++) {
to.addElement(from.getElementAt(index));
}
DefaultListModel booksToAdd = new DefaultListModel();
DefaultListModel booksAdded = new DefaultListModel();
//...
DefaultListModel combined = new DefaultListModel();
addTo(booksToAdd, combined);
addTo(booksAdded, combined);
现在,如果您经常做这类事情,您可以设计自己的
ListModel
,它可以通过构造函数获取一个或多个ListModel
s并将它们的元素添加到您的元素中,和/或提供一个“add”方法来完成。在任何情况下,基本思想都是一样的谢谢你的工作!只有一个问题,当结果出来时,它也给了我一些类似javax.swing.JList的东西$3@43692750在结果中。有没有办法解决这个问题?输出表明您使用了对象的toString
方法,您是如何使用生成的JList
的,这样它就可以打印出来了!只有一个问题,当结果出来时,它也给了我一些类似javax.swing.JList的东西$3@43692750在结果中。有没有办法解决这个问题?输出表明您使用了对象的toString
方法,您如何使用生成的JList
,所以它会打印出来