2016-05-01 1 views
0

Я пытаюсь создать JList, который отображает элементы объекта, который я создал.Как установить мой объект в JList?

Объект является items объектом и items класса выглядит следующим образом:

public class items { 
    private ArrayList<Item> itemlistweapons = new ArrayList<Item>(); 
    private ArrayList<Item> itemlistapparel = new ArrayList<Item>(); 
    private ArrayList<Item> itemlistaid = new ArrayList<Item>(); 
    private ArrayList<Item> itemlistmisc = new ArrayList<Item>(); 

    public void additem(String name, String type){ 
     if("Weapon".equals(type)){ 
      itemlistweapons.add(new Item(name, type)); 
     } 
     else if ("Apparel".equals(type)){ 
      itemlistapparel.add(new Item(name, type)); 
     } 
     else if ("Aid".equals(type)){ 
      itemlistaid.add(new Item(name, type)); 
     } 
     else if ("Misc.".equals(type)){ 
      itemlistmisc.add(new Item(name, type)); 
     } 
    } 

    public void dropitem(String name){ 
     for(int i = 0; i < itemlistweapons.size(); i++){ 
      if(itemlistweapons.get(i).getname().equals(name)){ 
       itemlistweapons.remove(i); 
      } 
     } 
     for(int i = 0; i < itemlistapparel.size(); i++){ 
      if(itemlistapparel.get(i).getname().equals(name)){ 
       itemlistapparel.remove(i); 
      } 
     } 
     for(int i = 0; i < itemlistaid.size(); i++){ 
      if(itemlistaid.get(i).getname().equals(name)){ 
       itemlistaid.remove(i); 
      } 
     } 
     for(int i = 0; i < itemlistmisc.size(); i++){ 
      if(itemlistmisc.get(i).getname().equals(name)){ 
       itemlistmisc.remove(i); 
      } 
     } 
     } 

    public ArrayList<Item> getItemlistweapons() { 
     return itemlistweapons; 
    } 

    public ArrayList<Item> getItemlistapparel() { 
     return itemlistapparel; 
    } 

    public ArrayList<Item> getItemlistaid() { 
     return itemlistaid; 
    } 

    public ArrayList<Item> getItemlistmisc() { 
     return itemlistmisc; 
    } 




    @Override 
    public String toString(){ 
     String items = ""; 
     if (itemlistweapons.size() > 0){ 
      items += "Weapons\n"; 
     for (Item itemlist1 : itemlistweapons) { 
      items += itemlist1 + "\n"; 
     } 
     } 

     if (itemlistapparel.size() > 0){ 
      items += "Apparel\n"; 
     for (Item itemlist2 : itemlistapparel) { 
      items += itemlist2 + "\n"; 
     } 
     } 
     if (itemlistaid.size() > 0){ 
      items += "Aid\n"; 
     for (Item itemlist3 : itemlistaid) { 
      items += itemlist3 + "\n"; 
     } 
     } 
     if (itemlistmisc.size() > 0){ 
      items += "Misc.\n"; 
     for (Item itemlist4 : itemlistmisc) { 
      items += itemlist4 + "\n"; 
     } 
     } 
     return items; 
    } 

} 

Итак, как бы я взять переменную itemlistweapons и установите его так, чтобы он отображался на JList. itemlistweapons является списком массива из Item времени, а Item класса выглядит следующим образом:

public class Item { 
    private String name; 
    private String type; 

    public Item(String itemname, String itemtype){ 
     name = itemname; 
     type = itemtype; 
    } 

    public String getname(){ 
     return name; 
    } 

    @Override 
    public String toString(){ 
     String iteminfo; 
     iteminfo = name; 
     return iteminfo; 
    } 
} 

Может кто-то пожалуйста, скажите мне, как взять ArrayList<Item> из items объекта и поместить его в JList?

ответ

0

Я думаю, что вы можете иметь 3-го класса с графическим интерфейсом, там у вас есть объект JList

, то вы можете сделать:

JList list = new JList(itemlistweapons .toArray()); 

и повторить соответственно любой ArrayList вы хотите, чтобы отобразить там ,

Смежные вопросы