繁体   English   中英

如何将我的对象设置为JList?

[英]How do I set my Object to a 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上。 itemlistweaponsItem时间的数组列表, 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;
    }
}

有人可以告诉我如何从items对象中获取ArrayList<Item>并将其放入JList吗?

我认为您可能具有GUI的第3类,在其中有Jlist对象

那么您可以执行以下操作:

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

并分别重复到要在此处显示的任何arrayList。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM