【问题标题】:list of imageIconimageIcon 列表
【发布时间】:2011-06-20 09:20:54
【问题描述】:

可以使用像

这样的列表
    private LinkedList<Object> deckOfCards = new LinkedList<Object>();
    for (int i = 0; i < 4; i++) {
        for (int j = 0; j < 13; j++) {
            deckOfCards.add(new Card(Rank.values()[j].toString(), Suit.values()[i].toString(), number[j], Image[j]));
        }
    }
}

当我这样做时

public Object pickRandomCard() {
        Random randomNumbers = new Random();
        rand = randomNumbers.nextInt(deckOfCards.size());
        System.out.println(deckOfCards.get(rand).toString());
        return deckOfCards.get(rand).toString();
    }


    //***********************

    public void setImage(ImageIcon Image) {
        this.cardImage = Image;
    }

    public ImageIcon getImage() {
        return deckOfCards.get(rand).getImage();
    }

我收到 类型 LinkedList 的方法 getImage() 未定义

目前我可以返回卡的名称,但不能返回图像,我该怎么做?

构造器

打包游戏;

导入 javax.swing.ImageIcon;

公共类卡{ 私有字符串面; 私人弦乐套装; 私有整数; 私有 ImageIcon 图片;

Card(String faceCard, String faceSuit, int value, ImageIcon ImageO) {
    face = faceCard;
    suit = faceSuit;
    number = value;
    Image = ImageO;
}


public String toString() {
    return face + " of " + suit;
}


public ImageIcon getImage() {
    return Image;
}


public int toInt() {
    return number;
}


public String suit(){
    return suit;
}

}

【问题讨论】:

    标签: java arrays list


    【解决方案1】:

    我相信你想要:

    private LinkedList<Card> deckOfCards = new LinkedList<Card>(); 
    

    【讨论】:

      【解决方案2】:

      使用Card 代替Object

      private LinkedList<Card> deckOfCards = new LinkedList<Card>();
      ...
      public Card pickRandomCard() {
      ...
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-08-03
        • 2018-07-22
        • 1970-01-01
        • 2020-07-21
        • 2016-10-08
        • 2011-10-18
        • 2012-11-06
        • 1970-01-01
        相关资源
        最近更新 更多