2016-05-01 5 views
0

Ich versuche eine JList zu erstellen, die Elemente eines Objekts anzeigt, das ich erstellt habe.Wie setze ich mein Objekt auf eine JList?

Das Objekt ist ein items Objekt und die items Klasse sieht wie folgt aus:

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

} 

Also, wie würde ich die Variable itemlistweapons nehmen und es so eingestellt, dass es auf einem JList anzeigt. Die itemlistweapons ist eine Array Liste der Item Zeit, und die Item Klasse sieht wie folgt aus:

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

Kann mir jemand bitte sagen, wie ein ArrayList<Item> von einem items Objekt zu nehmen und es in eine JList setzen?

Antwort

0

glaube ich Ihnen eine 3. Klasse mit der GUI haben, da Sie das Objekt JList haben

dann können Sie tun:

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

und wiederholen jeweils einem Arraylist Sie dort angezeigt werden sollen .

Verwandte Themen