所以我有我的 BufferedImages:
private BufferedImage sdk1, sdk2, sdk3, sdk4, sdk5, sdk6, sdk7, sdk8, sdk9, sdk10, bc;
我的数组值设置:
ArrayList<Card> deck1 = new ArrayList(50);
deck1.add(CardList.Spade);
我想知道,我可以将图像分配给数组列表中的“Spade”吗?因此,当它用于 Scanner 的输入时,它将在 JFrame 中显示图像。
Scanner monSummon = new Scanner(System.in);
int whichMonsterPOS1 = monSummon.nextInt();
抱歉,如果我无法再解释,请提前致谢。
最佳答案
你可以
使用某种Map
,键入Card
实例...
private Map cardImages;
//...
cardImages = new HashMap<Card, BufferedImage>(25);
//...
Card card = ...;
sdk1 = ...;
cardImages.put(card, sdk1);
你可以
为您的卡
提供Image
属性,这将允许您创建所需卡的特定实现,直接提供图像属性,例如...
public class AceOfSpadesCard extends Card {
private BufferedImage img;
public AceOfSpadesCard() {
img = ...;
}
public BufferedImage getImage() {
return img;
}
}
在这种情况下,我会将 Card
abstract
并使 getImage
方法抽象
或者,如果这太多,只需通过 Card
的构造函数提供一个参数即可。
关于java - 将图像绑定(bind)到数组值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23975200/