将Jlist的所有对象存储到Array <object>中

时间:2016-01-19 21:27:10

标签: java arraylist jlist

我一直在寻找和搜索,但无法找到解决这个问题的方法。 我面临的问题很简单,我创建了一个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。 我花了很多时间试图解决这个问题,如果有人能帮助我,我会感激不尽!

注意第二个jList不为空,这证明了这一点: enter image description here

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);
}

1 个答案:

答案 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);