我一直在寻找和搜索,但无法找到解决这个问题的方法。 我面临的问题很简单,我创建了一个ArrayList ..并将此对象转换为Jlist1(不知道我是否做错了但我已经转移了ArrayList的所有对象,并将此jList作为字符串对象附加字段)。我有一个按钮用于将这个jList1的选定项目转移到另一个jList2 ..我想给这个按钮的功能是存储从jList1转移到jList2中的对象... 在下面,我将打印我解释的问题的最重要部分。
jList1代码的填充:
ArrayList<Item> itemlist = items.getItems();
for(Item d : itemlist){
itemlist_model.addElement( d.getItemID()+" "+ d.getItemName()+" " +d.getItemPrice() + "$" );
}//end for
ItemList_jList.setModel(itemlist_model);
}
我将所选项目从jList1传输到jList2的代码:
for(Object d: ItemList_jList.getSelectedValuesList()){
//System.out.println(d);
basketlist_model.addElement(Arrays.toString(ItemList_jList.getSelectedValues()) + "" );
}
StoreBasketList_jList.setModel(basketlist_model);
}
我正在尝试改进的代码,以便将jList2对象存储到ArrayList:
ArrayList<Item> ItemInBasket = new ArrayList<Item>();
int len = basketlist_model.getSize();
for (int i = 0; i < len; i++) {
bw.write(basketlist_model.getElementAt(i).toString());
ItemInBasket.add((Item) basketlist_model.getElementAt(i));
}
为了使代码更容易理解:jList1是ItemList_jList .. jList2是StoreBasketList_jList ..而我试图存储这些对象的ArrayList是ArrayList ItemInBasket。 我花了很多时间试图解决这个问题,如果有人能帮助我,我会感激不尽!
int counterelement = StoreBasketList_jList.getModel().getSize(); System.out.println("The number of items in jList: "+counterelement);
for (int i = 0; i < StoreBasketList_jList.getModel().getSize(); i++) {
ItemInBasket.add( (Item)StoreBasketList_jList.getModel().getElementAt(i));
System.out.println(i);
}
答案 0 :(得分:0)
使用JList.getModel()https://docs.oracle.com/javase/8/docs/api/javax/swing/JList.html#getModel--
CREATE TRIGGER
dbo.statusCheck
ON
[dbo].job_test
FOR INSERT, UPDATE
AS
BEGIN
SET NOCOUNT ON
If (SELECT [status] FROM job_test) LIKE 'New'
Begin
...
End
END
打印出来:
JList jl = new JList(new Object[]{"a","b","c"});
System.out.println("jl.getModel().getSize() = " + jl.getModel().getSize());
ArrayList<Object> arrayList = new ArrayList<Object>();
for (int i = 0; i < jl.getModel().getSize(); i++) {
arrayList.add(jl.getModel().getElementAt(i));
}
System.out.println("arrayList = " + arrayList);